我正在尝试使用 PHPExcel 从 Excel 表中读取数字。
我拥有的读取数据的代码:
$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。对我有用。
关于php - 使用 PHPExcel 从 excel 中读取数字时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5753469/