1

使用某些旧版本的 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}给什么。

4

3 回答 3

1

0.43(2009 年 1 月)之前的Spreadsheet::ParseExcel版本没有get_name()方法。

如果您升级到最新版本的 Spreadsheet::ParseExcel,那么您的代码将起作用。我测试了它。

但是,Spreadsheet::ParseExcel::Workbook->Parse()现在已弃用,因为它不进行错误检查。改为使用Spreadsheet::ParseExcel->Parse()

于 2012-07-30T13:36:51.520 回答
1
foreach my $sheet ($excel->worksheets) {
    print $sheet->get_name;
}

作品。您应该调用该worksheets方法来获取 Worksheets 对象。

于 2012-07-30T13:19:58.567 回答
0

$sheet->{Name}(大写)给出了 ParseExcel v0.49 中的名称

于 2012-07-30T11:00:27.823 回答