public function test(){
if(isset($_FILES['Bl'])){
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3292200 ;// 设置附件上传大小
$upload->allowExts = array('xlsx','xls');// 设置附件上传类型
$upload->savePath = './Public/uploads/';// 设置附件上传目录
$upload->saveRule = $this->fileNameForBannerH5BookList();
if($upload->upload()) {
$info= $upload-> getUploadFileInfo();//获取上传的文件信息
$savepathinfo=$info[0]['savepath'].$info[0]['savename'];//保存的完整路径位置
import('ORG.Util.PHPExcel');//加载PHPExcel包
// 获取扩展名
$extension=strtolower(pathinfo($info[0]['savename'],PATHINFO_EXTENSION));
// 通过扩展名决定使用的类
if($extension == 'xls'){ //判断后缀,实例化PHPEXcel类并选择对应版本
$objReader = PHPExcel_IOFactory::createReader('Excel5');
}else{
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
}
// 通过该类加载该excel
$objPHPExcel = $objReader->load($savepathinfo,$encode='utf-8');//打开文件并设置编码,否则表格类有中文会乱码
//获取sheet部分的信息(如有shee2,sheet3一并读取)
$sheet = $objPHPExcel->getSheet(0);
// 取得总行数,返回有数据的最后一行数值
$highestRow = $sheet->getHighestRow();
// 取得总列数,返回有数据的最后一列字母值+1
$highestColumn = $sheet->getHighestColumn();
// 清空原有 flag=1
$Blist = D('booklist');
$Blist -> where('flag > 0') -> delete();
// dump($highestRow);exit;
// 每次处理一行 / 处理每一行
$blist = array();
for($i=2;$i<=200;$i++) {
$blist[$i]['bid']=$objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
$blist[$i]['bo']=$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
$blist[$i]['bg']=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
$blist[$i]['bg']=str_replace(PHP_EOL,'<br>',$blist[$i]['book_guide']);
$blist[$i]['flag']=$objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
}
foreach($blist as $v){
$rst = $Blist -> add($v);
}
if($i > 200){
$this->redirect('C/A','',0.01,'<script>alert("配置模块成功");</script>');
}else{
$this->error('请重新上传');
}
}else {
$this->error('请重新上传');
}
}
}
上传EXCEL文件并读取到数据库
最新推荐文章于 2022-11-14 11:45:47 发布