安装类库
从GitHub上下载PHPExcel类库
地址:https://github.com/PHPOffice/PHPExcel
解压后将Classes
文件夹移动到ThinkPHP的extend
目录,并将其重命名为phpexcel
在项目中需要的地方添加引用
import('phpexcel.PHPExcel', EXTEND_PATH);
代码实现
<?phpnamespace app\index\controller;use think\Controller;class Excel extends Controller{ ???// 测试 http://127.0.0.1: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中的内容为
在浏览器里访问,查看结果(此处获取的是json数据)
将json数据(通过web前端助手插件)格式化之后
可以看到已经解析出来的数据
补充:Chrome安装[Web前端助手]
点击下载web前端助手
打开Chrome的扩展程序
把下载的.crx
插件拖入浏览器,即可安装
本文链接:https://www.cnblogs.com/connect/p/php-read-excel.html
使用PHPExcel解析Excel表格
原文地址:https://www.cnblogs.com/connect/p/php-read-excel.html