PHPExcel使用1-读取excel并显示出来-比较老的方法
使用第三方扩展PHPExcel读取excel并显示出数据,
代码如下:(Thinkphp5示例)
最后结果:
在CSDN上也发现一个使用PHPExcel:原始链接:https://blog.csdn.net/ning521513/article/details/55257925 ,原版有错误,我给修正了一下:算是一个发散思维读取excel内容的方法吧。还有现在TP5都支持命名空间了,居然还在用require。
建议以后都使用命名空间引入,少用require。
代码如下:(Thinkphp5示例)
- //导入excel中的积分
- public function import_excel()
- {
- Loader::import('PHPExcel.Classes.PHPExcel'); //手动引入PHPExcel.php
- Loader::import('PHPExcel.Classes.PHPExcel.IOFactory'); //引入IOFactory.php 文件里面的PHPExcel_IOFactory这个类
- $inputFileName = 'e:/23333.xls';
- date_default_timezone_set('PRC');
- // 读取excel文件
- try {
- $inputFileType = \PHPExcel_IOFactory::identify($inputFileName);
- $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
- $objPHPExcel = $objReader->load($inputFileName);
- } catch(Exception $e) {
- exit('加载文件发生错误:['.pathinfo($inputFileName,PATHINFO_BASENAME).']'.$e->getMessage());
- }
- // 确定要读取的sheet
- $sheet = $objPHPExcel->getSheet(0);
- $highestRow = $sheet->getHighestRow();
- $highestColumn = $sheet->getHighestColumn();
- // 获取一行的数据
- for ($row = 1; $row <= $highestRow; $row++){
- // Read a row of data into an array
- $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
- //这里得到的rowData都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果
- print_r($rowData);
- echo '
- ';
- }
- }
最后结果:
- 注:PHPExcel官方已经不再维护,新项目推荐使用PhpSpreadsheet来操作excel。
在CSDN上也发现一个使用PHPExcel:原始链接:https://blog.csdn.net/ning521513/article/details/55257925 ,原版有错误,我给修正了一下:
- public function abc()
- {
- $uploadfile = 'E:/000111.xls';
- if (!file_exists($uploadfile)) {
- $this->notfound();
- }
- $ext = substr(strstr($uploadfile, '.'), 1);
- require './extend/PHPExcel/Classes/PHPExcel.php';
- //require './extend/PHPExcel/Classes/PHPExcel/IOFactory.php';
- if($ext=='xlsx'||$ext=='xls' ){
- $reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档
- }else if( $ext=='csv' ){
- $reader = \PHPExcel_IOFactory::createReader('CSV'); // 读取 excel 文档
- }else{
- die('Not supported file types!');
- }
- $PHPExcel = $reader->load($uploadfile); // 文档名称
- $objWorksheet = $PHPExcel->getActiveSheet();
- $highestRow = $objWorksheet->getHighestRow(); // 取得总行数
- $highestColumn = $objWorksheet->getHighestColumn(); // 取得总列数
- //echo $highestRow.$highestColumn;
- // 一次读取一列
- $res = array();
- for ($row = 1; $row <= $highestRow; $row++) {
- for ($column = 'A'; $column <= $highestColumn; $column++) {
- $ccc = ord($column) - 65;
- $val = $objWorksheet->getCellByColumnAndRow($ccc, $row)->getValue();
- $res[$row-1][$column] = $val;
- }
- }
- dd($res);
- }
建议以后都使用命名空间引入,少用require。