thinkphp5使用PhpOffice导入excel

安装扩展

composer require phpoffice/phpspreadsheet

类文件引入扩展
use PhpOffice\PhpSpreadsheet\Reader\Xls; use PhpOffice\PhpSpreadsheet\Shared\Date;

导入方法
public function import(){ //实例化xls类 $reader = new Xls(); try{ $file = request()->file('fname'); if(!$file){ $this->error = '请上传文件'; return false; } //加载上传的xls文件 $spreadsheet = $reader->load($file->getPathname()); //获取当前使用的sheet $sheet = $spreadsheet->getActiveSheet(); }catch (\PhpOffice\PhpSpreadsheet\Reader\Exception $e){ Log::info('错误信息'.$e->getMessage()); $this->error = $e->getMessage(); return false; }//文件列数判定 $countColumn = $sheet->getHighestColumn(); //总列数 if ($countColumn != 'Z') { $this->error = '文件内容不合规'; return false; } //文件行数判定 $countRow = $sheet->getHighestRow(); //总行数 $countRow = $countRow - 1; if ($countRow <= 0) { $this->error = '文件数据为空'; return false; }//循环处理 foreach ($sheet->getRowIterator(2) as $k=>$row){ $rowIndex = $row->getRowIndex(); //当前行 //获取所有参数 $aaa = $sheet->getCellByColumnAndRow(1,$rowIndex)->getValue()??''; $bbb = $sheet->getCellByColumnAndRow(2,$rowIndex)->getValue()??''; $ccc = $sheet->getCellByColumnAndRow(3,$rowIndex)->getValue()??''; //... //... //... $this->save(['aaa'=>$aaa,'bbb'=>$bbb,'ccc'=>$ccc]); } }

【thinkphp5使用PhpOffice导入excel】这是根据自己的已有项目整理出的文档,总体方案没有问题,如果有细节问题,欢迎指正.

    推荐阅读