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

问题描述 投票:1回答:1

我正在使用日期和时间单元格值,而日期值正在工作,时间被证明是一个痛苦。

$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,因此格式化失败。

如何禁用此默认值的格式?

php phpspreadsheet
1个回答
0
投票

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

由于$returnDateType使用恒定的RETURNDATE_PHP_OBJECT

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

Handling Date and Time Values

© www.soinside.com 2019 - 2024. All rights reserved.