·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

PHPExcel使用1-读取excel并显示出来-比较老的方法

470 0
发表于 2023-4-21 18:22:47 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
使用第三方扩展PHPExcel读取excel并显示出数据,

代码如下:(Thinkphp5示例)
  1. //导入excel中的积分
  2. public function import_excel()
  3. {
  4.     Loader::import('PHPExcel.Classes.PHPExcel');      //手动引入PHPExcel.php
  5.     Loader::import('PHPExcel.Classes.PHPExcel.IOFactory');    //引入IOFactory.php 文件里面的PHPExcel_IOFactory这个类
  6.     $inputFileName = 'e:/23333.xls';
  7.     date_default_timezone_set('PRC');
  8.     // 读取excel文件
  9.     try {
  10.         $inputFileType = \PHPExcel_IOFactory::identify($inputFileName);
  11.         $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
  12.         $objPHPExcel = $objReader->load($inputFileName);
  13.     } catch(Exception $e) {
  14.         exit('加载文件发生错误:['.pathinfo($inputFileName,PATHINFO_BASENAME).']'.$e->getMessage());
  15.     }
  16.     // 确定要读取的sheet
  17.     $sheet = $objPHPExcel->getSheet(0);
  18.     $highestRow = $sheet->getHighestRow();
  19.     $highestColumn = $sheet->getHighestColumn();
  20.     // 获取一行的数据
  21.     for ($row = 1; $row <= $highestRow; $row++){
  22.         // Read a row of data into an array
  23.         $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
  24.         //这里得到的rowData都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果
  25.         print_r($rowData);
  26.         echo '
  27. ';
  28.     }
  29. }
复制代码

最后结果:
PHPExcel使用1-读取excel并显示出来-比较老的方法 使用,读取,excel,显示,出来
  1. 注:PHPExcel官方已经不再维护,新项目推荐使用PhpSpreadsheet来操作excel。
复制代码

在CSDN上也发现一个使用PHPExcel:原始链接:https://blog.csdn.net/ning521513/article/details/55257925 ,原版有错误,我给修正了一下:
  1. public function abc()
  2.     {
  3.         $uploadfile = 'E:/000111.xls';
  4.         if (!file_exists($uploadfile)) {
  5.             $this->notfound();
  6.         }
  7.         $ext        = substr(strstr($uploadfile, '.'), 1);
  8.         require './extend/PHPExcel/Classes/PHPExcel.php';
  9.         //require './extend/PHPExcel/Classes/PHPExcel/IOFactory.php';
  10.         if($ext=='xlsx'||$ext=='xls' ){
  11.             $reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档
  12.         }else if( $ext=='csv' ){
  13.             $reader = \PHPExcel_IOFactory::createReader('CSV'); // 读取 excel 文档
  14.         }else{
  15.             die('Not supported file types!');
  16.         }
  17.         $PHPExcel = $reader->load($uploadfile); // 文档名称
  18.         $objWorksheet = $PHPExcel->getActiveSheet();
  19.         $highestRow = $objWorksheet->getHighestRow(); // 取得总行数
  20.         $highestColumn = $objWorksheet->getHighestColumn(); // 取得总列数
  21.         //echo $highestRow.$highestColumn;
  22.         // 一次读取一列
  23.         $res = array();
  24.         for ($row = 1; $row <= $highestRow; $row++) {
  25.             for ($column = 'A'; $column <= $highestColumn; $column++) {
  26.                 $ccc = ord($column) - 65;
  27.                 $val = $objWorksheet->getCellByColumnAndRow($ccc, $row)->getValue();
  28.                 $res[$row-1][$column] = $val;
  29.             }
  30.         }
  31.         dd($res);
  32.     }
复制代码
算是一个发散思维读取excel内容的方法吧。还有现在TP5都支持命名空间了,居然还在用require。
建议以后都使用命名空间引入,少用require。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.147.103.202,114.232.92.71,GMT+8, 2024-4-29 12:59 , Processed in 0.214468 second(s), 68 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表