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。
我使用 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。