关于thinkphp3.2导入Excel表格功能的问题

浏览:460 发布日期:2017/06/06 分类:求助交流
求高手指点,thinkphp3.2导入Excel表格功能报错:错误提示:”Class 'PHPExcel_IOFactory' not found”,
初看提示觉得是个小威你听,在引入文件前加“\”后来还是不行,
引入的文件是:Think->Libraty->Vendor->PHPExcel.
求高手指点方法错在哪?
方法代码如下:
public function impStudent(){
ini_set('memory_limit','1024M');
if (!empty($_FILES)){
$config = array(
'exts' => array('xlsx','xls'),
'maxSize' => 3145728000,
'rootPath' =>"Uploads/",
'savePath' => 'Uploads/Excel/', //上传Excel表格的路径。
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);
if (!$info = $upload->upload()) {
$this->error($upload->getError());}
vendor("PHPExcel.PHPExcel"); //引入导入文件
$file_name=$upload->rootPath.$info['excelData']['savepath'].$info['excelData']['savename'];
$extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判断导入表格后缀格式(小写)
if ($extension == 'xlsx') {
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //常规模式
} else if ($extension == 'xls'){
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
}
$sheet =$objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();//取得总行数
$highestColumn =$sheet->getHighestColumn(); //取得总列数
for ($i = 2; $i <= $highestRow; $i++) {
//看这里看这里,前面小写的a是表中的字段名,后面的大写A是excel中位置
$data['name'] =$objPHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();
$data['price'] =$objPHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
/*$data['c'] =$objPHPExcel->getActiveSheet()->getCell("C" .$i)->getValue();
$data['d'] = $objPHPExcel->getActiveSheet()->getCell("D". $i)->getValue();
$data['e'] =$objPHPExcel->getActiveSheet()->getCell("E" .$i)->getValue();
$data['f'] =$objPHPExcel->getActiveSheet()->getCell("F" . $i)->getValue();*/

$data['add_time'] = time(); //导入数据的时间。
//$data['promotion_type'] = mt_rand(3, 5);
//看这里看这里,这个位置写数据库中的表名
M('goods')->add($data);
}
$this->success('导入成功!');
} else {
$this->error("请选择上传的文件");
}
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>