PHPExcel读取excel资料
Jun 13, 2016 pm 01:07 PM
PHPExcel读取excel文件
????? 之前的博文已经对PHPExcel导出excel文件做了简单的总结,现对他读取excel做以下总结。(对数据量不会很大的建可以采用web直接用此方法读取,如果数据量会很大的话,还是建议web只做上传功能,读取、处理还是放后台吧。PHPExcel还是比较耗费时间、内存的。)
?
实例代码:
?
//首先导入PHPExcel require_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; } }
?
?? ?这里需要说明的是上面注释中的“富文本转换字符串”。
???PHPExcel读取EXCEl文件中,如果单元格中的内容有两种字体时,读到的是富文本的对象:
例如:单元格中有内容:“测试1”,其中前半部分的“测试”字体为宋体,后半部分的“1”字体为Calibri,这时候通过
??? $cell = $sheet->getCell($addr)->getValue();
获取单元格的值。并打印:
? 可以看到对这样的单元格不能直接读取单元格的文本内容。(注:这里的富文本是我自己的翻译,不知对否)。 另外,读取单元格的函数还有: //列从0开始,行从1开始 $currentSheet ->getCellByColumnAndRow($colIndex,$rowIndex)->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
)
)
)

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menapis lebih daripada 3 kata kunci pada masa yang sama dalam excel

Apakah yang perlu saya lakukan jika garis bingkai hilang semasa mencetak dalam Excel?

Bagaimana untuk menukar mod keserasian jadual excel kepada mod biasa

Bagaimana untuk menetapkan superskrip dalam excel

Di mana untuk menetapkan mod bacaan excel

Cara menggunakan fungsi iif dalam excel
