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

Tji*_*irp 3 php phpexcel

我试图使用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 ++;
Run Code Online (Sandbox Code Playgroud)

代码有效.我读了Excel,所有数据都很好地保存在$ data数组中.问题是在列AI中得到了一个数字(4078500264822).它返回"4078500264820"(见最后0).不管我怎么看.如果我打印整行,我看到值是错误的.当我使用诸如"getCalculatedValue"之类的函数时,结果是一样的.

我认为它与如何在excel中保存字段有关.我把它保存为"数字"类型.在另一排.我保存了相同的号码.这一次作为"文本"(excel抛出关于此的通知).PHPExcel可以读取该数字.我有40张记录表.其中26个单元格的最后一个数字被替换为0.你可以在这里找到一个截断的文件(只有2行) - > http://dl.dropbox.com/u/1458083/excel.xlsx

T.O*_*.O. 10

或者只是尝试ini_set("precision","15"); 默认值为12.为我工作.