Perl将数据从散列转储到电子表格

我有一个关键和值的散列(数组)。 我想将它们转储到电子表格

%hash key1 -> foo bar key2-> john adam gill key3-> apple banana mango orange 

码:

 use strict; use warnings; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'c:\TEMP\filename.xlsx' ); my $worksheet = $workbook->add_worksheet(); my $row = 1; my $col = 1; foreach my $k (keys %hash) { $worksheet->write($row, $col)->{Value} = $k; # title $worksheet->write($row, $col++,)->{Value} = $hash{$k}; # value $row++; } 

当前输出
无法在未定义的值上调用方法“add_worksheet”

期望的输出

在这里输入图像说明

看来, Excel::Writer::XLSX->new失败了。 在调用new之后添加这个代码,看看出了什么问题:

 if (not defined $workbook) { die "Failed to create spreadsheet: $!"; }