使用PHPExcel从Excel中读取数字时出现问题

我试图使用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.为我工作.

上一篇:使用PHPExcel时未找到类“ZipArchive”错误


下一篇:在PHPExcel中设置自动高度不起作用