perl win32::ole 操作excel
发布时间:2020-12-15 23:39:50 所属栏目:大数据 来源:网络整理
导读:#!usr/bin/perl use strict; use warnings; use Win32::OLE; ? #导入win32 OLE包 #my $dir = 'D://myperl//win32ole//'; ?#在此目录下新建两个EXCEL my $dir ='D:/Teradata/3program/'; my $src_name = $dir."test1".".xlsx"; my $dst_name = $dir."test2"."
#!usr/bin/perl
use strict; use warnings; use Win32::OLE; ? #导入win32 OLE包 #my $dir = 'D://myperl//win32ole//'; ?#在此目录下新建两个EXCEL my $dir ='D:/Teradata/3program/'; my $src_name = $dir."test1".".xlsx"; my $dst_name = $dir."test2".".xlsx"; my $nowstr; #新建一个EXCEL应用对象,然后我们就可以对excel进行操作。 my $app_xls = Win32::OLE->new('Excel.Application',sub{$_[0]->Quit})? or die"Can't install Excel01!"; $app_xls->{DisplayAlerts} = 'False'; #关闭提示 #打开一个EXCEL文件,'True' 表示是只读 #print($src_name); my $src_book = $app_xls->WorkBooks->Open($src_name);? my $src_sheet = $src_book->Worksheets(1); #选中一工作表 $nowstr = $src_sheet->Cells(1,'A')->{Value}; ?#取得一单元格中数据 #print("nnowstr:".$nowstr."n"); $src_sheet->Cells(1,'A')->{Value}="changing"; ?#修改一单元格中数据 $src_book->Save; 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应用 #若出现 can't call method worksheets ?on an undefined value at? #则可能是路径、文件名等错误,可以打印出来确保正确 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |