我正在尝试使用 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 数组中。
问题出在 A 列中,我得到了一个数字(4078500264822)。它返回为“4078500264820”(请参阅最后一个 0)。不管我怎么读。如果我打印整行,我会发现该值是错误的。当我使用“getCalculatedValue”等函数时,结果是相同的。
我认为这与excel中字段的保存方式有关。我将其保存为“数字”类型。
就像在另一排一样。我保存了相同的号码。这次作为“文本”(Excel 对此发出通知)。 PHPExcel 可以读取该数字。我有一张40张记录表。其中 26 个单元格的最后一个数字被 0 替换。您可以在此处找到截断的文件(仅 2 行) -->http://dl.dropbox.com/u/1458083/excel.xlsx
或者也许只是尝试 ini_set(" precision", "15");默认值为 12。为我工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)