1

我对使用 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

非工作机器:

  1. win7,perl v 5.6.1,没有 vba 的 excel 2010
  2. win7,perl v 5.8.7,没有 vba 的 excel 2010
  3. win7,perl v 5.8.7,带有 vba 的 excel 2010
  4. win7,perl v 5.6.1,带有 vba 的 excel 2010

(vba 是 Office 2010 中的 Visual Basic 组件)

我无法弄清楚这是 perl 问题还是 excel 问题。有人可以帮我解决这个问题吗?

4

0 回答 0