之前的博文已经对PHPExcel导出excel文件做了简单的总结,现对他读取excel做以下总结。(对数据量不会很大的建可以采用web直接用此方法读取,如果数据量会很大的话,还是建议web只做上传功能,读取、处理还是放后台吧。PHPExcel还是比较耗费时间、内存的。)

实例代码:

 1 //首先导入PHPExcel
 2 require_once 'PHPExcel.php';
 3
 4 $filePath = "test.xlsx";
 5
 6 //建立reader对象
 7 $PHPReader = new PHPExcel_Reader_Excel2007();
 8 if(!$PHPReader->canRead($filePath)){
 9     $PHPReader = new PHPExcel_Reader_Excel5();
10     if(!$PHPReader->canRead($filePath)){
11         echo 'no Excel';
12         return ;
13     }
14 }
15
16 //建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件
17 $PHPExcel = $PHPReader->load($filePath);
18
19 /**读取excel文件中的第一个工作表*/
20 $currentSheet = $PHPExcel->getSheet(0);
21 /**取得最大的列号*/
22 $allColumn = $currentSheet->getHighestColumn();
23 /**取得一共有多少行*/
24 $allRow = $currentSheet->getHighestRow();
25
26 //循环读取每个单元格的内容。注意行从1开始,列从A开始
27 for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){
28     for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
29         $addr = $colIndex.$rowIndex;
30         $cell = $currentSheet->getCell($addr)->getValue();
31         if($cell instanceof PHPExcel_RichText)     //富文本转换字符串
32             $cell = $cell->__toString();
33
34         echo $cell;
35
36     }
37
38 }

这里需要说明的是上面注释中的“富文本转换字符串”。

PHPExcel读取EXCEl文件中,如果单元格中的内容有两种字体时,读到的是富文本的对象:

例如:单元格中有内容:“测试1”,其中前半部分的“测试”字体为宋体,后半部分的“1”字体为Calibri,这时候通过

$cell = $sheet->getCell($addr)->getValue();

获取单元格的值。并打印:

 1 PHPExcel_RichText Object(
 2     [_richTextElements:private] => Array
 3      (
 4                [0] => PHPExcel_RichText_TextElement Object ([_text:private] => 测试)
 5                      [1] => PHPExcel_RichText_Run Object
 6                      (
 7                          [_font:private] => PHPExcel_Style_Font Object
 8                                (
 9                                     [_name:private] => Calibri
10                                         [_size:private] => 11
11                                         [_bold:private] =>
12                                         [_italic:private] =>
13                                         [_superScript:private] =>
14                                         [_subScript:private] =>
15                                         [_underline:private] => none
16                                         [_strikethrough:private] =>
17                                         [_color:private] => PHPExcel_Style_Color Object
18                                         (
19                                             [_argb:private] => FF000000
20                                             [_isSupervisor:private] =>
21                                             [_parent:private] =>
22                                             [_parentPropertyName:private] =>
23                                         )
24                                         [_parentPropertyName:private] =>
25                                         [_isSupervisor:private] =>
26                                         [_parent:private] =>
27                                         [colorIndex] => 8
28                                     )
29                                     [_text:private] => 1
30                                 )
31                         )
32                 )

可以看到对这样的单元格不能直接读取单元格的文本内容。(注:这里的富文本是我自己的翻译,不知对否)。

另外,读取单元格的函数还有:

//列从0开始,行从1开始

$currentSheet ->getCellByColumnAndRow($colIndex,$rowIndex)->getValue();

转载于:https://www.cnblogs.com/xingmeng/p/3309356.html

PHPExcel读取excel文件相关推荐

  1. PHP使用phpexcel读取excel文件

    PHP读取excel文件require("Classes/PHPExcel.php"); require("Classes/PHPExcel/IOFactory.php& ...

  2. 【实例】使用 PHPExcel 读取excel 文件

    PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...

  3. 原声php 读取excel乱码_使用PHPExcel读取Excel文件时会读出乱码

    这是我读取文件的代码: require_once dirname(__FILE__) . "/PHPExcel/Classes/PHPExcel.php";$PHPReader = ...

  4. 用PHPExcel读取excel文件内容

    set_time_limit(0); //设置页面等待时间 $file_arr = upload_excel(); $type = $file_arr['excel']['ext']; $upload ...

  5. php execl内存不足,PHPExcel读取Excel文件出现内存不足 各种情况处理办法

    情况一:一般大多都是使用PHPExcel 读取时, 以 xlsx后缀的excel表数据量过大而导致内存溢出,那么大部分采取的办法就那几种 1.修改 php.ini 中 memory_limit的值,重 ...

  6. phpexcel 读取excel文件在将数据插入数据库

    public function acIndex(){$fileName = "C:\Users\**\Desktop\省市区编码 .xlsx";if (!file_exists($ ...

  7. php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  8. python xlrd读取文件报错_python利用xlrd读取excel文件始终报错原因

    1.代码按照网上百度的格式进行书写如下: 但运行后,始终报错如下: 百度了xlrd网页: 分明支持xls和xlsx两种格式的文件,但运行始终报错. 最后找到原因是因为我所读取的文件虽然是以.xls命名 ...

  9. php 浏览器打开excel文件夹里,php网页显示excel表格数据-phpexcel 读取excel里的数据并在页面显示出来...

    网页如何调用excel表格中的数据? $retdata=array(); //内容 //二维数 $filename= "文.csv"; //生成头文件 $now = gmdate( ...

最新文章

  1. 深度学习项目代码阅读建议
  2. 【Java Web开发指南】redis笔记
  3. Python实现微信消息防撤回
  4. 用这样的方法,我解决了leetcode的大部分的这种题型!
  5. MongoDB shell 操作
  6. (网页)java数组去重总结(转)
  7. 1223. Chernobyl’ Eagle on a Roof(dp)poj3783
  8. C语言中可变参数的宏 __VA_ARGS__
  9. 企业IT治理样板间首次直播,教您如何打造高效可控的云环境
  10. 杜比音效卡刷包android 7.0,杜比音效7.0清爽卡刷包-杜比音效7.0定制版v2.1.0 安卓版-手机腾牛网...
  11. X Window 用户指南
  12. linux 内存容量换算,使用Linux的sar 命令来计算Linux的内存剩余
  13. 见信如晤::‘卷福’读信:我全心全意去拥抱您
  14. 二级计算机vf里的sql,计算机二级考试vf常用sql语句
  15. uniapp picker选择器注意点
  16. TechnoAP公司发布“脉冲形状鉴别”选件
  17. python是一种语言吗-python语言是非开源语言吗
  18. 12. 深度学习三巨头
  19. VisionPro (简单介绍)
  20. 车载DSP音频功放频率响应曲线2.5到20khz增益降太多是什么原因?

热门文章

  1. python安装依赖比较慢的解决方法
  2. HttpClient 入门与正确使用姿势
  3. Git-本地库与中央库
  4. [Perforce]password (P4PASSWD) invalid or unset. 的错误解决
  5. 计算机维修与护理论文,计算机维修与维护方面论文选题 计算机维修与维护论文题目怎样定...
  6. cdn.cache.php,CDN缓存不命中诊断 - 在线工具
  7. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.
  8. java protobuf extend_如何使用protobuf extend和编写protobuf插件
  9. python dropout_Python slim.dropout方法代码示例
  10. eclipse远程调试liunx下的tomcat