PHPExcel(和其他)在读取xlsx时缺less单元格值

我使用不同的PHP库来读取来自各种文件types的客户订单。 现在我坚持一点。

我收到xlsx文件(附件),这可能是由一些未知的软件生成的。 当我使用PHPExcel(1.8.0)读取它时,我只能得到包含数字的单元格的值 – 首先看。

正如我们所知,xlsx是一些xml文件的归档容器。 当我对这些xmls进行了一些挖掘 – 我已经了解到,我只获取了表单文件(xls / worksheets / sheet1.xml中的xlsx)中描述的单元格的值。worksheet-> sheetData-> row-> having attr “t”设置为“n”。 一般来说,这意味着价值是在这个文件。 并将attr“t”设置为“s”的标签“c” – 值在SharedStrings.xml中进行了描述。 而PHPExcel没有得到它们。

或者我做错了什么?

这里是简单的代码:

$objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objReader->setReadDataOnly(true); $excel = $objReader->load($file); $excel->setActiveSheetIndex(0); $data = $excel->getActiveSheet()->toArray(null, true, true, true); print_r($data); 

链接到文件

首先尝试通过getHighestRow()获取highestRow,然后使用rangeToArray('A1:'.$highestRow)像这样: –

 $workingSheet = $objPHPExcel->getActiveSheet(); $highestRow = $objPHPExcel->getActiveSheet()->getHighestRow(); $data = $workingSheet->rangeToArray('A1:Y'.$highestRow); 

它将从Excel读取所有数据并存储到$data