我正在尝试使用 PHPExcel 从 excelsheet 中读取一个数字。
我拥有读取数据的代码:
$objReader = PHPExcel_IOFactory::createReaderForFile($upload_file);
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($upload_file);
$objWorksheet = $objPHPExcel->getActiveSheet();
$data = array();
$i = 0;
foreach ($objWorksheet->getRowIterator() as $row) {
if ($i < 1) {
$i++;
continue; //Skip heading titles
}
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
$data [$i] [] = $cell->getValue();
}
$i ++;
该代码有效。我阅读了 Excel,所有数据都很好地保存在 $data 数组中。问题在于 AI 列有一个数字( 4078500264822 )。它返回为“4078500264820”(见最后一个 0)。不管我怎么读。如果我打印整行,我发现值是错误的。当我使用诸如“getCalculatedValue”之类的函数时,结果是一样的。
我认为这与该字段如何保存在 excel 中有关。我将其保存为“数字”类型。在另一排。我保存了相同的号码。这次是“文本”(excel 会对此发出通知)。PHPExcel 可以读取该数字。我有一个 40 记录表。其中 26 个单元格的最后一个数字替换为 0。您可以在此处找到截断的文件(仅 2 行)-> http://dl.dropbox.com/u/1458083/excel.xlsx