使用某些旧版本的ActivePerl读取电子表格:
use Spreadsheet::ParseExcel;
$excel = Spreadsheet::ParseExcel::Workbook->Parse("some file");
foreach $sheet (@{$excel->{Worksheet}}){
print $sheet->get_name();
}错误:Can't locate object method get_name() spreadsheet::parseexcel::worksheet
此外,$sheet->{name}也没有提供任何东西。
发布于 2012-07-30 21:19:59
foreach my $sheet ($excel->worksheets) {
print $sheet->get_name;
}很管用。您应该调用worksheets method来获取工作表对象。
发布于 2012-07-30 21:36:52
0.43 (2009年1月)之前的Spreadsheet::ParseExcel版本没有get_name()方法。
如果您升级到Spreadsheet::ParseExcel的最新版本,那么您的代码将正常工作。我测试过了。
但是,Spreadsheet::ParseExcel::Workbook->Parse()现在已被弃用,因为它不执行错误检查。请改用Spreadsheet::ParseExcel->Parse()。
发布于 2012-07-30 19:00:28
在ParseExcel的v0.49中,$sheet->{Name} (大写)给出了名称
https://stackoverflow.com/questions/11720130
复制相似问题