我们需要生成excel文件和单元格值应在公式栏中以mm/dd/yyyy格式(1/1/1901)显示,并在相应单元格中显示为yyyy-mm-dd格式(1901-01-01)。有人可以帮助如何使用Perl来实现这一点,请参考下面的屏幕截图,这将显示我们需要如何。如何在公式栏中将excel单元格值显示为“1/1/1901”,并使用perl将相同的单元格显示为“1901-01-01”
我们使用模块Excel :: Writer :: XLSX,我们尝试了下面的代码,但它在编辑栏和单元格中都显示了相同的格式。
if ($cell =~ qr[^(\d{4})/(\d{1,2})/(\d{1,2})$])
{
my $format1 = $workbook->add_format(num_format => 'yyyy-mm-dd');
my $date = sprintf "%02d/%02d/%04d", $2, $3, $1;
$worksheet->write_date_time($iR, $iC, ${date}, $format1);
}
截屏
你看,你的示例文件有格式?看起来你正在做正确的事情,但也许你可以从原始文件中学到一些东西。也可能有助于使用Spreadsheet :: XLSX来查看文件中的格式。 – simbabque
你为什么删除截图? – jm666