电子表格与Excel 97-2003兼容,权限为777
use strict;
use Spreadsheet::ParseExcel;
print "Content-type: text/html\n\n";
my $parser = Spreadsheet::ParseExcel->new();
print "<br>gets here:".__LINE__;
my $workbook = $parser->parse('test.xls');
print "<br>never gets here:".__LINE__; 发布于 2010-02-03 19:40:59
你使用最新的Spreadsheet::ParseExcel吗?当前版本为0.57。
我看到你是以CGI的身份运行的。您是否可以从命令行(本地,使用相同的测试文件)运行它,并检查是否有任何错误消息?
也可以尝试使用eval (从命令行运行更好),并检查是否定义了$parser:
print '$parser is undef<br>' unless defined $parser;
eval {
my $workbook = $parser->parse('test.xls');
};
print "Error message from eval: $@<br>";请尝试其他Excel文件。
如果错误仍然未知且具有特定Excel文件,则在bug tracker中报告错误。
发布于 2010-02-04 00:15:40
我是Spreadsheet::ParseExcel的维护者。
parse()方法仅在更新的版本中可用。建议进行升级以获取最新的错误修复。
较新的版本还具有用于报告解析错误的error() and error_code()方法。
约翰。
发布于 2010-02-03 20:37:16
有一次,我发现我正在尝试使用一个不存在的方法,这要归功于使用eval (alexandr-ciornii推荐的)。
对我有用的是什么
$workbook = Spreadsheet::ParseExcel::Workbook->Parse('test.xls');https://stackoverflow.com/questions/2191496
复制相似问题