如何通過perl來對Excel文件做讀寫操作呢?CPAN上提供了Spreadsheet::WriteExcel
和 Spreadsheet::ParseExcel兩個模塊。通過這兩個模塊,我們就可以讀寫和創建Excel文件了。
下面就來看看 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法。
在使用這兩個模塊之前,首先要在服務器上安裝相應的模塊,可以通過PPM命令來安裝,安裝命令如下:
-
ppm> install OLE::Storage_Lite
-
ppm> install Spreadsheet::ParseExcel
-
ppm> install Spreadsheet::WriteExcel
下面通過兩個例子來看看如何對Excel文檔進行操作的。
1、讀取excel文件
-
#!/usr/bin/perl -w
-
use strict;
-
use Spreadsheet::ParseExcel;
-
my $parser = Spreadsheet::ParseExcel->new();
-
my $workbook = $parser->Parse('Book1.xls');
-
-
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";
-
}
-
}
-
}
2、生成EXCEL文件
-
#!/usr/bin/perl -w
-
use Spreadsheet::WriteExcel;
-
-
# 創建一個新的EXCEL文件
-
my $workbook = Spreadsheet::WriteExcel->new('test.xls');
-
-
# 添加一個工作表
-
$worksheet = $workbook->add_worksheet();
-
-
# 新建一個樣式
-
$format = $workbook->add_format(); # Add a format
-
$format->set_bold();#設置字體爲粗體
-
$format->set_color('red');#設置單元格前景色爲紅色
-
$format->set_align('center');#設置單元格居中
-
-
#使用行號及列號,向單元格寫入一個格式化和末格式化的字符串
-
$col = $row = 0;
-
$worksheet->write($row, $col, 'Hi Excel!', $format);
-
$worksheet->write(1, $col, 'Hi Excel!');
-
-
# 使用單元格名稱(例:A1),向單元格中寫一個數字。
-
$worksheet->write('A3', 1.2345);
-
$worksheet->write('A4', '=SIN(PI()/4)');
-
exit;