PhpSpreadsheet 将日期格式传递给图表

PhpSpreadsheet passing date format to chart

我使用 PhpSpreadsheet 创建 XLSX 文件。问题是我使用 formatCode 在单元格内设置日期,但是当我基于这些单元格创建图表时, formatCode 未应用于它们。这导致图表内有 timestamps,单元格内有正确的日期格式。有谁知道如何将正确的日期格式传递到图表中?

此致, 老外

您可能需要对单元格应用日期格式,例如:

$worksheet->getStyleByColumnAndRow($column, $row)
   ->getNumberFormat()
   ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME);

查看支持的日期格式 here

请注意,MS Excel 不适用于像 PHP 这样的 unix 时间戳(表示自 01.01.1970 以来的秒数)。相反,Excel 计数 自 1900 年 1 月 1 日以来的天数,并在转换为 hours/minutes/secs 时使用浮点值。因此你不能插入一个单元格unix时间戳,而是先把它转换成Excel时间戳。请参阅 PHP 转换 functions from and into Excel serial date format