Perl通過WIN32 OLE來操作EXCEL

來源:互聯網
上載者:User
       最近要用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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.