我在一个.xlsx文件的单元格中得到了值为“9,2”(荷兰表示法为“9.2”),该单元格具有“常规”数字格式。同时,在您查看公式的上方条中显示的值也为“9,2”。当我使用PHPExcel的-> getValue()读取此单元格时,我得到了“9.199999999999999”的值。
这是我的代码:
$oPhpReader = PHPExcel_IOFactory::createReader($sFileType);
$aWorksheetNames = $oPhpReader->listWorksheetNames($sFileName);
$oPhpReader->setReadDataOnly(true);
$oPhpReader->setLoadSheetsOnly($aWorksheetNames[0]);
$oPhpExcel = $oPhpReader->load($sFileName);
$oWorksheet = $oPhpExcel->getActiveSheet();
$oCell = $oWorksheet->getCellByColumnAndRow($iCol,$iRow);
$sTempValue = $oCell->getValue();
getFormattedValue()
(它返回反映格式掩码的数字),而不是getValue()
(它返回“原始”数据值)就可以了。 - Mark Baker