Как найти количество строк по столбцам при разборе таблицы Excel - PullRequest
1 голос
/ 27 июня 2019

У меня есть лист 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};

1 Ответ

2 голосов
/ 27 июня 2019

, вероятно, не лучшее решение, но оно работает:

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
}

цикл останавливается, когда он находит первую пустую ячейку в этом столбце

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...