PHPExcel问题与日期格式

时间:2014-07-03 12:32:04

标签: phpexcel

我正在使用PHPExcel库,我提取列单元格的内容,该单元格有一个日期,在excel中它显示为“30/07/2014”但是当我使用它提取它时它显示:41850作为日期值,我不能依赖excel格式化单元格,因为每次我得到一个带有日期的不同文件,所以我的问题是,有没有办法将值41850使用库转换为原始日期文本30/07 / 2014?

我正在使用的代码是:

$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($inputFileName);
$outPut = $objPHPExcel->getSheet(0)->getCellByColumnAndRow(6, 6)->getFormattedValue();
echo $outPut;//41850 

1 个答案:

答案 0 :(得分:1)

你的问题是

$objReader->setReadDataOnly(true);

您只告诉PHPExcel从单元格读取原始数据,没有任何格式信息;但MS Excel使用浮动日期(自19/1年1月1日以来或自1/1/1904以来的天数,取决于所使用的日历)和数字格式掩码将其格式化为日期....通过设置读取数据只有true,你告诉PHPExcel不要读取数字格式掩码,所以没有办法区分日期值和任何其他浮点值。

解决方案:不要使用

$objReader->setReadDataOnly(true);