我正在使用 Excel::Writer::XLSX perl 模块导出到 Excel。它工作得很好,除了大型出口需要很长时间。但是,当我添加 $workbook->set_optimization(); 我只在 .xlsx 文件中获取数字数据。
我尝试同时使用 $worksheet->write() 和 $worksheet->write_string() 但是当我使用 $workbook->set_optimization(); 时,任何具有字符串而不是数字的字段都被排除在导出之外。
如果我使用较旧的 Spreadsheet::WriteExcel 模块,它工作得很好,但导出的文件大小要大得多,24MB 对 7MB
下面是创建标题行的代码:
# Create a new workbook
my $workbook = Excel::Writer::XLSX->new($file_path);
$workbook->set_optimization();
my $worksheet = $workbook->add_worksheet();
# insert the header row
my $header_cnt = 0;
foreach my $header_cell (@header_values){#loop through each header column and add it to the sheet
# print $header_cell." - ".$header_cnt."\n";
# $worksheet->write_string("0", $header_cnt, "test");
$worksheet->write_string("0", $header_cnt, $header_cell);
$header_cnt++;
}
$workbook->close() or die "Error closing file: $!";