使用Spreadsheet :: ParseExcel :: SaveParser saveas保存的xls无法使用MSExcel打开

我有一个使用Spreadsheet :: ParseExcel :: SaveParser创build的excel表单的问题saveas函数不能使用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(); 

通过在我的机器上运行此脚本创build的xls非常好。 但是我尝试运行它的任何其他机器,我看到xls不打开,但会抛出一个错误,指出“Excel在result.xls ….中发现不可读的内容”。 工作机:win 7 perl v5.8.7为MSWin32-x86-multi-thread excel 2010打造的vba

非工作机器:

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

(vba是Office 2010中的可视化基本组件)

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