最近要用Perl(通過Win32::OLE)來操作EXCEL,在網上沒找到類似的內容,好不容易在一本書上找到點入門知識,再加上自己搗鼓了一通,總算有點眉目,在此做個備份,供大家和我一起參考 ^_^
#!usr/bin/perl
use strict;
use warnings;
use Win32::OLE; #匯入win32 OLE包
my $dir = 'D://myperl//win32ole//'; #在此目錄下建立兩個EXCEL
my $src_name = $dir."test1"."/.xls";
my $dst_name = $dir."test2"."/.xls";my $nowstr;#建立一個EXCEL應用對象,然後我們就可以對excel進行操作。
my $app_xls = Win32::OLE->new('Excel.Application', sub{$_[0]->Quit})
or die"Can't install Excel01!"; #開啟一個EXCEL檔案,'True' 表示是唯讀my $src_book = $app_xls->WorkBooks->Open($src_name, 0, 'True');
my $src_sheet = $src_book->Worksheets(1); #選中一工作表
$nowstr = $src_sheet->Cells(1,'A')->{Value}; #取得一儲存格中資料
print($nowstr);
$src_sheet->Cells(1,'A')->{Value}="change"; #修改一儲存格中資料
my $dst_book = $app_xls->WorkBooks->Open($dst_name);
my $dst_sheet = $dst_book->Worksheets(1);
$app_xls->{DisplayAlerts} = 'False'; #關掉excel的提示,比如是否儲存修改之類的
#$dst_book->Worksheets(1)->Delete; #刪除一工作表
#從一個excel裡複製一工作表到另一excel中
$src_book->Worksheets(1)->Copy($dst_book->Worksheets('sheet3'));
$dst_book->Save; #儲存所做修改
$app_xls->{DisplayAlerts} = 'True'; #恢複提示
undef $src_book;
undef $dst_book;undef $app_xls; #關掉所開啟的excel應用
參考資料:1、《Perl5編程核心技術》——杜經農 (北京希望電子出版社)2000.11第一版2、Microsoft Excel 開發人員參考,通過OLE來對EXCEL進行操作的一些說明,關於OLE相關支援,可在微軟的 MSDN上找到,我的blog技術雜談目錄下也有對OLE的簡介。 PS:轉載請保留以下資訊Author:smilelance From:http://blog.csdn.net/smilelanceTime:2006.05.23