我正在使用不同的php库来从各种文件类型中读取客户端订单。 现在我卡住了一点。
我收到的xlsx文件(附件)可能是由某些未知软件生成的。 当我使用PHPExcel(1.8.0)读取它时,我只得到包含数字的单元格的值 - 初看起来。
正如我们所知,xlsx是某些xml文件的存档容器。 当我稍微挖掘那些xmls时 - 我已经知道我只获得了表单文件中描述的单元格的值(xl / worksheets / sheet1.xml在此xlsx中)工作表 - > sheetData-> row-> c将attr“t”设置为“n”。通常这意味着值在此文件中。标记为“c”的attr“t”设置为“s” - 值在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);
答案 0 :(得分:0)
首先尝试通过getHighestRow()
获得最高排名,然后像这样使用rangeToArray('A1:'.$highestRow)
: -
$workingSheet = $objPHPExcel->getActiveSheet();
$highestRow = $objPHPExcel->getActiveSheet()->getHighestRow();
$data = $workingSheet->rangeToArray('A1:Y'.$highestRow);
它将从Excel读取所有数据并存储到$data
。