首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子表格::WriteExcel set_optimization()生成取消链接错误

电子表格::WriteExcel set_optimization()生成取消链接错误
EN

Stack Overflow用户
提问于 2017-03-29 10:14:55
回答 1查看 146关注 0票数 0

很长时间以来,我们一直使用电子表格::WriteExcel,这就像一种魅力。

几年前,我们迁移到Excel,它使用的内存比WriteExcel多5倍,如文档中所述。由于XLSX,用户现在能够生成更大的Excel文件。从几周开始,我们就开始面对内存使用问题,在这些问题中,大约84%的服务器内存是需要的。

同样的文档说明$workbook->set_optimization()应该解决这个问题。给出的业绩数字是有希望的。我们试图在一个示例文件上使用$workbook->set_optimization(),但这是行不通的。它会产生一个取消链接的错误。

如果删除set_optimization(),则正确生成Excel文件。作者在本线程中提供了该示例:

代码语言:javascript
复制
#!/usr/bin/perl -w

use strict;
use Excel::Writer::XLSX;

my $workbook = Excel::Writer::XLSX->new('test.xlsx');
$workbook->set_optimization();

my $worksheet = $workbook->add_worksheet();


my @header_values = ( 1, 2, 3, 'foo', 'bar', 6, 7 );
my $header_cnt    = 0;

for my $header_cell (@header_values){
    $worksheet->write(0, $header_cnt, $header_cell);
    $header_cnt++;
}

$workbook->close();

Error unlinking file /opt/.../rKhGTRYWSJ using unlink0 at /usr/local/share/perl5/Excel/Writer/XLSX/Worksheet.pm line 204
(in cleanup) Error unlinking file /opt/.../iGr8Qo8VBD using unlink0 at /usr/local/share/perl5/Excel/Writer/XLSX/Worksheet.pm line 204

我们正在运行:

  • Excel-Writer-XLSX 0.70
  • perl v5.10.1
  • 红帽企业Linux服务器第6.8版(圣地亚哥)

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-05-18 15:20:25

Excel::Writer::XLSX用于在XLSX中写入大量数据,处理大数据并减少内存使用,使用set_optimization()方法。

在XLSX文件中,工作簿最多可以创建10,48,576行和16,384列,如果行数超过最大限制,则可以在同一工作簿中创建新工作表,并以这种方式处理大量数据。

有关详细信息,请参阅此链接中的"Write_largeData_XLSX.pl“XLSX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43090638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档