1

如何XLSX从包含超过 256 列数据的文件中读取数据

尝试使用cpan perl 库模块,但如果我们尝试读取包含 400 多列(超过 256 列)中数据的文件,Spreadsheet::XLSX则没有成功。XLSX

请有任何建议。

4

1 回答 1

2

我在第一行使用 Excel 2010 创建了一个 XLSX 文件,1并将403其放入 Spreadsheet::XLSX 的示例代码中。有用:

use Spreadsheet::XLSX;
my $excel = Spreadsheet::XLSX->new( 'Mappe3.xlsx', );

foreach my $sheet ( @{ $excel->{Worksheet} } ) {
  printf( "Sheet: %s\n", $sheet->{Name} );
  $sheet->{MaxRow} ||= $sheet->{MinRow};
  foreach my $row ( $sheet->{MinRow} .. $sheet->{MaxRow} ) {
    $sheet->{MaxCol} ||= $sheet->{MinCol};
    foreach my $col ( $sheet->{MinCol} .. $sheet->{MaxCol} ) {
      my $cell = $sheet->{Cells}[$row][$col];
      if ($cell) {
        printf( "( %s , %s ) => %s\n", $row, $col, $cell->{Val} );
      }
    }
  }
}

__END__

Sheet: Tabelle1
( 0 , 0 ) => 1
( 0 , 1 ) => 2
( 0 , 2 ) => 3
[..] # snipped
( 0 , 252 ) => 253
( 0 , 253 ) => 254
( 0 , 254 ) => 255
( 0 , 255 ) => 256
( 0 , 256 ) => 257
[..] # snipped
( 0 , 398 ) => 399
( 0 , 399 ) => 400
( 0 , 400 ) => 401
( 0 , 401 ) => 402
( 0 , 402 ) => 403
Sheet: Tabelle2
Sheet: Tabelle3

您应该发布您正在使用的代码和您看到的错误消息。否则我们无法重现问题。

于 2013-11-08T12:41:16.740 回答