PHPExcel读取excel资料

php中文网
发布: 2016-06-13 10:56:33
原创
1007人浏览过

PHPExcel读取excel文件

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

?

立即学习PHP免费学习笔记(深入)”;

实例代码:

?

立即学习PHP免费学习笔记(深入)”;

//首先导入PHPExcelrequire_once 'PHPExcel.php';$filePath = "test.xlsx";//建立reader对象$PHPReader = new PHPExcel_Reader_Excel2007();if(!$PHPReader->canRead($filePath)){    $PHPReader = new PHPExcel_Reader_Excel5();    if(!$PHPReader->canRead($filePath)){        echo 'no Excel';        return ;    }}//建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件$PHPExcel = $PHPReader->load($filePath);/**读取excel文件中的第一个工作表*/$currentSheet = $PHPExcel->getSheet(0);/**取得最大的列号*/$allColumn = $currentSheet->getHighestColumn();/**取得一共有多少行*/$allRow = $currentSheet->getHighestRow();//循环读取每个单元格的内容。注意行从1开始,列从A开始for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){    for($colIndex='A';$colIndex<=$allColumn;$colIndex++){        $addr = $colIndex.$rowIndex;		$cell = $currentSheet->getCell($addr)->getValue();        if($cell instanceof PHPExcel_RichText)     //富文本转换字符串			$cell = $cell->__toString();                    echo $cell;        }}
登录后复制

?

立即学习PHP免费学习笔记(深入)”;

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

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

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

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

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

PHPExcel_RichText Object(	[_richTextElements:private] => Array 	(           	[0] => PHPExcel_RichText_TextElement Object ([_text:private] => 测试)                     [1] => PHPExcel_RichText_Run Object                     (                     	[_font:private] => PHPExcel_Style_Font Object                               (                                	[_name:private] => Calibri                                        [_size:private] => 11                                        [_bold:private] =>                                         [_italic:private] =>                                         [_superScript:private] =>                                         [_subScript:private] =>                                         [_underline:private] => none                                        [_strikethrough:private] =>                                         [_color:private] => PHPExcel_Style_Color Object                                        (                                            [_argb:private] => FF000000                                            [_isSupervisor:private] =>                                             [_parent:private] =>                                             [_parentPropertyName:private] =>                                         )                                        [_parentPropertyName:private] =>                                         [_isSupervisor:private] =>                                         [_parent:private] =>                                         [colorIndex] => 8                                    )                                    [_text:private] => 1                                )                        )                )
登录后复制

?

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

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

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

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

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号