PhpSpreadsheet:禁用getValue()方法的格式

时间:2017-12-18 12:03:19

标签: php phpspreadsheet

我正在使用日期和时间单元格值,并且在日期值有效的情况下,时间被证明有点痛苦。

$value = $worksheet->getCell($cellPosition)->getValue();
$date = new \DateTime();
$date->setTimestamp(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
echo '<td>' . $date->format('i:s') . '</td>' . PHP_EOL;

但是,在此示例中:$value为:0.375而不是:09:00,因此格式化失败。

如何禁用此默认值格式?

1 个答案:

答案 0 :(得分:0)

脚本可以通过调用\PhpOffice\PhpSpreadsheet\Calculation\Functions::setReturnDateType($returnDateType)方法来更改用于返回日期值的数据类型。

$returnDateType使用常量RETURNDATE_PHP_OBJECT

然后,通过对Excel中的日期和时间函数的任何访问,返回到调用脚本的日期值将为PHP DateTime object

Handling Date and Time Values