如何从包含超过256列数据的XLSX
文件中读取数据
尝试使用Spreadsheet::XLSX
cpan perl库模块尝试但如果我们尝试读取包含400多列(超过256列)数据的XLSX
文件,则无法获得成功。
请提出任何建议。
答案 0 :(得分:2)
我在第一行中使用带有1
到403
的Excel 2010创建了一个XLSX文件,并将其放在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
您应该发布您正在使用的代码以及您看到的错误消息。否则我们无法重现这个问题。