2015-02-16 2 views
1

Мне нужно автоматизировать файл excel, я уже проверил Win32:OLE, просто хотел проверить, есть ли другие пути, кроме того, чтобы достичь аналогичной функциональности.Автоматизация задач Excel с использованием perl

Заранее благодарен!

+0

Если вы хотите, чтобы разобрать первенствует попробовать этот модуль Spreadsheet :: ParseXLSX и когда вы пытаетесь что-то написать на первенствует попробовать этот модуль Spreadsheet :: WriteExcel и для чтения попробовать этот модуль Spreadsheet :: Read – Praveen

+0

Вы также можете обратиться к vb script/vba, вызванному через хост сценариев (cscript.exe). Создайте объект приложения excel и используйте его как точку входа в модель объекта excel. – collapsar

ответ

1

Cpan module Spreadsheet::ParseExcel является инструментом для read information from an Excel file. Примером здесь:

use warnings; 
use strict; 
use Spreadsheet::ParseExcel; 

my $parser = Spreadsheet::ParseExcel->new(); 
my $workbook = $parser->parse('Book1.xls'); 

if (!defined $workbook) { 
    die $parser->error(), ".\n"; 
} 

for my $worksheet ($workbook->worksheets()) { 

    my ($row_min, $row_max) = $worksheet->row_range(); 
    my ($col_min, $col_max) = $worksheet->col_range(); 

    for my $row ($row_min .. $row_max) { 
     for my $col ($col_min .. $col_max) { 

      my $cell = $worksheet->get_cell($row, $col); 
      next unless $cell; 

      print "Row, Col = ($row, $col)\n"; 
      print "Value  = ", $cell->value(),  "\n"; 
      print "Unformatted = ", $cell->unformatted(), "\n"; 
      print "\n"; 
     } 
    } 
} 
+0

Мне нужно автоматизировать действия, как win32 :: OLE делает, я не думаю, что Spreadsheet :: ParseExcel делает это. – Mayank

+0

Я никогда не использовал 'Win32 :: OLE', поэтому понятия не имею об этом. – serenesat

Смежные вопросы