时间:2021-07-01 10:21:17 帮助过:18人阅读
这篇文章介绍的内容是关于PHP处理excel文件数据,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
文章主要记录如何使用PHPexcel插件对excel文件进行处理的过程,仅作备忘使用,如插件下载遇到问题,可以留言,谢谢浏览。下面是笔记内容:
require_once('./PhpSpreadsheet/vendor/autoload.php');
//创建文件读取类对象 $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx"); /** Advise the Reader that we only want to load cell data **/ //设置为只读模式$reader->setReadDataOnly(true); /** Load $inputFileName to a Spreadsheet Object **/ //加载文件路径,路径为绝对路径 $spreadsheet = $reader->load($file_path); //获取excel表中有多少个sheet $sheetNum = $spreadsheet->getSheetCount(); $sheetData = []; $temp = []; //只获取活跃的sheet //$temp = $spreadsheet->getSheetActive()->toArray(null, true, true, true); //遍历每一个sheet,获取里面的数据内容 for($i = 0; $i < $sheetNum; $i++){ $temp = $spreadsheet->getSheet($i)->toArray(null, true, true, true); foreach ($temp as $v) { if(is_float($v['A'])){ $sheetData[] = $v; } } }
输出格式内容如下:
var_dump($sheetData); /* 'A' => float 41746 'B' => string '玉雪婵娟' (length=12) 'C' => float 236979210 'D' => string '353343073072008' (length=15) 'E' => float 41740 'F' => null*/
//获取excel表中的数据记录 $excel_records$temp = []; $excel_records = []; foreach ($sheetData as $v){ //strtotime(gmdate("Y-m-d", ($sheetData[$i]['F'] -25569) * 86400)) //将表格中的时间字符串转为时间格式 $temp['date'] = gmdate("Y-m-d", ($v['A'] -25569) * 86400);//2018年获取为2014年,尚不明原因 $temp['drname'] = $v['B']; $temp['uid'] = $v['C']; $temp['imei'] = $v['D']; $temp['reg_date'] = $v['E']; $excel_records[] = $temp; }
后续直接对数据进行处理即可。
相关推荐:
php处理数组 key值更改
php处理表单上传文件的方法
以上就是PHP处理excel文件数据的详细内容,更多请关注Gxl网其它相关文章!