PhpSpreadsheet:在getValue()方法上禁用格式化

我正在处理日期和时间单元格值,而日期值工作时,时间证明是有点痛苦。PhpSpreadsheet:在getValue()方法上禁用格式化

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

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

回答:

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

由于$returnDateType使用常数RETURNDATE_PHP_OBJECT

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

Handling Date and Time Values

以上是 PhpSpreadsheet:在getValue()方法上禁用格式化 的全部内容, 来源链接: utcz.com/qa/263171.html

回到顶部