php - 使用 PHPExcel 从 excel 中读取数字时出现问题

标签 php phpexcel

我正在尝试使用 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/

相关文章:

php - 更新 MySQL 中的多行

.Net 中的 PHP crypt() 函数?

phpexcel - 保存时丢失条件格式

PHPExcel内存问题

php - 使用 PHPExcel 时未找到类 'ZipArchive' 错误

php - 操作 'like' 与 PDO bindValue() 的排序规则非法混合

php - 如何将多维与特定值合并

php - 无法使用带有文件路径的 phpexcel 问题上传文件

php - 使用 PHPExcel 清除电子表格

php - aws转码器覆盖s3上的文件