急用呢 现在网上查到不能用的太多了,自己又是弄草率弄一个了。
上传excel有序哦,无序自己加判断组处理
//导入excel,业务中重要内容隐藏了
public function do_upload(Request $request){
$file=request()->file("file");
$info=$file->move(ROOT_PATH.'public'.DS . 'uploads'.DS."file");
$file_name="";
if($info){
$file_name = $info->getSaveName();
}else{
$this->error("错误,未获取到文件信息");
}
//引入文件
\think\Loader::import('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
// 取上传后的文件
$filename = ROOT_PATH.'public'.DS . 'uploads'.DS ."file".DS.$file_name;
//由于这里看个人情况定义
$filename=iconv('GB2312','UTF-8',$filename);
// $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8');
if(is_file($filename)==false){
$this->error("未发现文件!");
}
$extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) );
\think\Loader::import('PHPExcel.IOFactory.PHPExcel_IOFactory');
//使用 PHPExcel_IOFactory 来鉴别文件应该使用哪一个读取类
$inputFileType = \PHPExcel_IOFactory::identify($filename);
$objReader = \PHPExcel_IOFactory::createReader($inputFileType);
//只设为读取,加快读取速度
$objReader->setReadDataOnly(true);
$objExcel = $objReader->load($filename, $encode = 'utf-8');
$excel_array=$objExcel->getSheet(0)->toArray();
// $objExcel = $objReader->load($filename);
$sheet = $objExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
// 取得总列数
$highestColumn = $sheet->getHighestColumn();
// dump的东西都好好看看,保姆级还连带注释
// dump($sheet);
// dump($highestRow);
// dump($highestColumn);
// die;
// 业务不需要所有列的标题就弄掉了
array_shift($excel_array); //删除第一个数组(标题);
$city = [];//定义了个数组,批量入库使用
$i=0;//做计数器用呢
//入库表前先执行清除历史数据
Db::execute('TRUNCATE table shares_test.data_test');
Db::execute('TRUNCATE table shares_test.data_test_xxx');
// 处理业务数据并组装
foreach($excel_array as $k=>$v) {
// 处理业务数据
dump($v);//自己看看都是啥
// $v[0]~$v[20];
...
....
.....
}
bb:写到这好烦,还得上微新截图添加标注才清晰、上传需要的包…
包加压放这位置,例如框架tp5.几来着
好了,资源上传了,不太会用这个,如何绑定到文章内方便使用呢
找不到的话点这个好像就到了下载界面了,地址是:
https://download.csdn.net/download/lpbstart/89873186
保姆级教程…真手卤