Excel::Writer::XLSX写入未格式化日期

Excel::Writer::XLSX写入未格式化日期,excel,perl,Excel,Perl,我有一个脚本,它使用电子表格::XLSX模块读取包含未格式化日期的数据。当我在桌面上打开电子表格时,它确实以mm/dd/yyyy格式显示日期。读完后,我使用Excel::Writer::XLSX模块将它们写入电子表格。我基本上是按顺序添加下一个日期。在我阅读我创建的电子表格之前,一切正常。它只读取格式化的日期,无论我是否使用其中一个来读取日期: $cell->{Val} $cell->value() 这是我用来写日期的书写格式。我很清楚,我用这种格式在未格式化的值中写出日期。如果我

我有一个脚本,它使用
电子表格::XLSX
模块读取包含未格式化日期的数据。当我在桌面上打开电子表格时,它确实以
mm/dd/yyyy
格式显示日期。读完后,我使用
Excel::Writer::XLSX
模块将它们写入电子表格。我基本上是按顺序添加下一个日期。在我阅读我创建的电子表格之前,一切正常。它只读取格式化的日期,无论我是否使用其中一个来读取日期:

$cell->{Val}
$cell->value()
这是我用来写日期的书写格式。我很清楚,我用这种格式在未格式化的值中写出日期。如果我没有使用
num_格式
,那么当我打开电子表格时,日期将采用
ddddd
格式

$workbook->add_format(bold => 1, align => 'center', num_format => 'mm/dd/yyyy');
当我阅读电子表格并在打开时查看日期为
mm/dd/yyyy
时,如何使其保持一致?

引用部分:

单元格格式是通过Format对象定义的。通过调用工作簿
add\u Format()
方法创建格式对象,如下所示:

my $format2 = $workbook->add_format( %props );    # Set at creation
format对象包含可应用于单元格、行或列的所有格式属性下一节将讨论设置这些属性的过程。

另一段引用自:

日期应始终采用
$格式
,否则它将显示为数字,请参见“EXCEL中的日期和时间”和“单元格格式”

根据这一点,您的代码应该是:

my$date\u格式=$workbook->add\u格式(
粗体=>1,
align=>“居中”,
num_格式=>'mm/dd/yyyy'
);
#将格式应用于特定单元格
#$string应采用UTC格式的ISO-8601格式,例如yyyy-mm-ddThh:mm:ss.sssZ
$worksheet->write_date_time($row、$column、$string、$date_格式);
我争论时间戳的首选武器是发行