0

如何在 windows7 中使用 perl 模块使用 Spreadsheet::ParseExcel 读取 .xlsx 文件。它给了我一个错误,文件中没有 excel 数据。Windows 是否需要其他模块才能从 excel 文件中读取数据。请帮忙

编辑:我现在已经安装了 Spreadsheet::XLSX 并正在尝试这个程序,但它仍然不起作用:

use Spreadsheet::ParseXLSX;
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('Book1.xlsx');

if ( !defined $workbook ) {
  die $parser->error(), ".\n";
}

for my $worksheet ( $workbook->worksheets() ){
  my ( $row_min, $row_max ) = $worksheet->row_range();
  my ( $col_min, $col_max ) = $worksheet->col_range();

  for my $row ( $row_min .. $row_max ) {
    for my $col ( $col_min .. $col_max ) {
      my $cell = $worksheet->get_cell( $row, $col );
      next unless $cell;
      print "Row,Col= ($row, $col)\n";
      print "Value=", $cell->value(),"\n";
      print "Unformatted=", $cell->unformatted();
    }
  }
} 
4

1 回答 1

0

如果您只想获取数据,无论格式如何,我建议您.xlsx使用您正在使用的任何办公软件打开并将其导出为 CSV 格式。至少在 MS Excel 和 LibreOffice Calc 上,这可以通过 File->Save As并选择 CSV 作为文件类型来完成。

您可以使用本机 Perl 解析生成的 CSV,也可以使用Parse::CSV之类的模块。

于 2013-09-15T15:07:20.190 回答