PHPExcel解析Excel表格

从GitHub上下载PHPExcel类库
地址:https://github.com/PHPOffice/PHPExcel

PHPExcel解析Excel表格

解压后将Classes文件夹移动到ThinkPHP的extend目录,并将其重命名为phpexcel

PHPExcel解析Excel表格

PHPExcel解析Excel表格

在项目中需要的地方添加引用

import('phpexcel.PHPExcel', EXTEND_PATH); 代码实现 <?php namespace app\index\controller; use think\Controller; class Excel extends Controller { // 测试 :8083/index/excel/index public function index() { $path = "G:/student.xlsx"; $data = self::readExcel($path); if (empty($data)) { $json = json_encode([ 'errcode' => '20001', 'errmsg' => '没有解析到数据', 'data' => [] ], JSON_UNESCAPED_UNICODE); } else { $json = json_encode([ 'errcode' => '10000', 'errmsg' => '读取数据成功', 'data' => $data ], JSON_UNESCAPED_UNICODE); } return $json; } //PHPExcel解析Excel表格 protected function readExcel($filePath) { // 引入类库 import('phpexcel.PHPExcel', EXTEND_PATH); // 实例化对象 if (strstr($filePath, '.xlsx')) { // 对应文件类型为 .xlsx $PHPReader = new \PHPExcel_Reader_Excel2007(); } elseif (strstr($filePath, '.xls')) { // 对应文件类型为 .xls $PHPReader = new \PHPExcel_Reader_Excel5(); } else { // 文件类型无法识别 return false; } // 载入Excel文件 $PHPExcel = $PHPReader->load($filePath); // 获得sheet1 $sheet = $PHPExcel->getActiveSheet(0); // 当前sheet的最大行数 $highestRow = $sheet->getHighestRow(); // 获取Excel数据 $arr = $sheet->toArray(); // 解析 $data = []; $length = count($arr); for ($i = 1; $i < $length; $i++) { // 为什么i从1开始?因为i=0是列标题! $data[$i-1] = [ 'stuNo' => $arr[$i][0], 'name' => $arr[$i][1], 'class' => $arr[$i][2] ]; } // 返回数据 return empty($data) ? [] : $data; } } 查看运行结果

Excel中的内容为

PHPExcel解析Excel表格

在浏览器里访问,查看结果(此处获取的是json数据)

PHPExcel解析Excel表格

将json数据(通过web前端助手插件)格式化之后

PHPExcel解析Excel表格

可以看到已经解析出来的数据

补充:Chrome安装[Web前端助手]

点击下载web前端助手

打开Chrome的扩展程序

PHPExcel解析Excel表格

把下载的.crx插件拖入浏览器,即可安装

PHPExcel解析Excel表格

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfywy.html