Задать вопрос
Ответы пользователя по тегу Perl
  • Парсинг XLSX в Perl

    Neuronix
    @Neuronix Автор вопроса
    IT
    Нашел, может кому-то поможет:

    ######################################
    use Win32::OLE;
    use Win32::OLE::Const 'Microsoft Excel';
    use strict;
    
    my $xl = Win32::OLE->GetActiveObject('Excel.Application') ||
    Win32::OLE->new('Excel.Application');
    die "Cannot start Excel" unless $xl;
    
    my $workbook=$xl-> Workbooks->Open('C:\\temp\\book1.xls');
    my $worksheet=$workbook->Worksheets('Sheet1');
    
    my $LastRow = $worksheet->UsedRange->Find({What=>"*",
    SearchDirection=>xlPrevious,
    SearchOrder=>xlByRows})->{Row};
    
    my $LastCol = $worksheet->UsedRange->Find({What=>"*",
    SearchDirection=>xlPrevious,
    SearchOrder=>xlByColumns})->{Column};
    
    print "Number of used rows: $LastRow\n";
    print "Number of used cols: $LastCol\n";
    
    my $lnRow=1;
    my $lnCol=1;
    
    while ($lnRow <= $LastRow) {
    $lnCol = 1 if ($lnCol > $LastCol);
    my $notes = $worksheet->Cells($lnRow,$lnCol)->{NoteText};
    print $notes,"\n" if ($notes);
    $lnRow++ if $lnCol == 1;
    $lnCol++;
    }
    
    $xl->Quit;
    __END__
    ###############################
    
    Ответ написан
    Комментировать