我对使用 Spreadsheet::ParseExcel::SaveParser saveas 函数创建的 Excel 工作表存在问题,无法使用 MSExcel 打开。
代码片段:
my $result_excel="result.xls";
my $excel_template="Template.xls";
my $parser = new Spreadsheet::ParseExcel::SaveParser;
my $template = $parser->Parse($excel_template);
my $workbook;
{
local $^W = 0;
$workbook = $parser->SaveAs($template, $result_excel);
}
$workbook->close();
通过在我的机器上运行这个脚本创建的 xls 非常好。但是我尝试在任何其他机器上运行它,我看到 xls 没有打开但抛出一个错误,说“Excel 在 result.xls 中发现了不可读的内容......”。工作机器:为 MSWin32-x86-multi-thread excel 2010 和 vba 构建的 win 7 perl v5.8.7
非工作机器:
- win7,perl v 5.6.1,没有 vba 的 excel 2010
- win7,perl v 5.8.7,没有 vba 的 excel 2010
- win7,perl v 5.8.7,带有 vba 的 excel 2010
- win7,perl v 5.6.1,带有 vba 的 excel 2010
(vba 是 Office 2010 中的 Visual Basic 组件)
我无法弄清楚这是 perl 问题还是 excel 问题。有人可以帮我解决这个问题吗?