PHPExcel类库引入
PHPExcel 在项目中并不能直接使用,需要先将它引入项目中,通过composer或者直接将PHPExcel类库的源码放到项目中。(在项目中我们真正需要的只有Classes里面的文件)
PHPExcel下载:https://github.com/PHPOffice/PHPExcel.git
处理导入的Excel表格
Excel表格文件可以通过form表单上传,这里就不细说了,直接从表格数据处理开始
<?php header("content-type:text/html;charset=utf8"); var_dump($_FILES); include 'PHPExcel/PHPExcel/IOFactory.php';//引入PHPExcel类 $inputFileName = $_FILES['file']['tmp_name'];//读取的excel文件 date_default_timezone_set('PRC'); // 读取excel文件 try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('加载文件发生错误:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } $sheet = $objPHPExcel->getSheet(0); //将Excel表的所有文本数据保存到数组中 $data=$sheet->toArray(); //如果导入的Excel数据表中有需要处理的图片 //下面是对图片进行处理 $imageFilePath='./images/'.date('Y-m-d').'/';//图片在本地存储的路径 if (! file_exists ( $imageFilePath )) { mkdir("$imageFilePath", 0777, true); } //处理图片 foreach($sheet->getDrawingCollection() as $img) { list($startColumn,$startRow)= PHPExcel_Cell::coordinateFromString($img->getCoordinates());//获取图片所在行和列 $imageFileName = $img->getCoordinates() . mt_rand(100, 999); switch($img->getMimeType()) { case 'image/jpg': $imageFileName.='.jpg'; imagejpeg($img->getImageResource(),$imageFilePath.$imageFileName); break; case 'image/gif': $imageFileName.='.gif'; imagegif($img->getImageResource(),$imageFilePath.$imageFileName); break; case 'image/png': $imageFileName.='.png'; imagepng($img->getImageResource(),$imageFilePath.$imageFileName); break; } $startColumn = ABC2decimal($startColumn);//由于图片所在位置的列号为字母,转化为数字 $data[$startRow-1][$startColumn]=$imageFilePath.$imageFileName;//把图片插入到数组中 } print_r($data);die; //图片的保存处理 function ABC2decimal($abc){ $ten = 0; $len = strlen($abc); for($i=1;$i<=$len;$i++){ $char = substr($abc,0-$i,1);//反向获取单个字符 $int = ord($char); $ten += ($int-65)*pow(26,$i-1); } return $ten; }
Excel表格数据倒入保存到数组后就可以根据业务逻辑随意处理了:
继续阅读与本文标签相同的文章
上一篇 :
二维数组for foreach循环分页代码
下一篇 :
PHPExcel导出带表格样式的excel报表
-
阿里云Linux服务器动态扩容(阿里云服务器扩容后磁盘空间无变化解决方法)
2020-11-30栏目: 建站教程
-
6个SEM实战技巧,大神手把手教你做推广!
2020-07-20栏目: SEM
-
苏州美食推荐,持续更新
2020-06-17栏目: 生活笔记
-
企业如何玩转视频号
2020-05-12栏目: 运营杂谈
-
SEO关键词排名该掌握的核心优化技巧
2020-05-12栏目: SEO
打印
分享
发表评论 已发布 0 条