我有一个Excel工作表,其中有两列。第1列有5行,第2列有2行。
Column 1 Column 2
Alpha One
Beta Two
Charlie
Gamma
Zeta
如何获取第1列和第2列中的最大行数。
我有以下代码来获取工作表中的最大行数。
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $FILE = "<excel file name>.xls";
my $SHEETNAME = "<sheet name>";
my $COLUMN1 = 1;
my $COLUMN2 = 2;
my $excel = Spreadsheet::ParseExcel::Workbook->Parse($FILE);
my $sheet = $excel->Worksheet($SHEETNAME);
$row_max = $sheet->{MaxRow};
答案 0 :(得分:2)
可能不是最好的解决方案,但它可行:
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('<excel file name>.xls');
if ( !defined $workbook ) {
die $parser->error(), ".\n";
}
for my $worksheet ( $workbook->worksheets() ) {
my ( $row_min, $row_max ) = $worksheet->row_range();
my $cells_col2 = 0;
for my $row ($row_min..$row_max){
if (!defined $worksheet->get_cell( $row, 1 )) { # 1 == col-2
last;
}
$cells_col2++;
}
print $cells_col2; # 2
}
循环在找到此列中的第一个空单元格时停止