Perl 如何在分析excel工作表时按列查找行数

Perl 如何在分析excel工作表时按列查找行数,perl,Perl,我有一张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 $SHEE

我有一张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};
#/usr/bin/perl-w
严格使用;
使用电子表格::ParseExcel;
my$FILE=“.xls”;
我的$name=“”;
我的$COLUMN1=1;
我的$COLUMN2=2;
我的$excel=电子表格::解析excel::工作簿->解析($FILE);
my$sheet=$excel->工作表($SHEETNAME);
$row_max=$sheet->{MaxRow};

可能不是最好的解决方案,但它可以:

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
}
my$parser=Spreadsheet::ParseExcel->new();
我的$workbook=$parser->parse('.xls');
如果(!已定义$工作簿){
die$parser->error(),“\n”;
}
对于我的$工作表($工作簿->工作表()){
my($row_min,$row_max)=$worksheet->row_range();
我的$cells\u col2=0;
对于我的$row($row\最小值..$row\最大值){
如果(!defined$worksheet->get_单元格($row,1)){#1==col-2
最后;
}
$cells_col2++;
}
打印$cells_col2;#2
}
循环在此列中找到第一个空单元格时停止