Perl通过WIN32 OLE来操作EXCEL

原创 2006年05月23日 14:02:00
       最近要用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/smilelance
Time:2006.05.23
 

MFC中使用OLE/COM操作EXCEL的方法

使用OLE的方法操作EXCEL,首先计算机必须安装excel,这样才会有接口暴露出来。本次使用大神封装好的类。 excel作为OLE/COM库插件,定义好了各类交互接口,而且这些接口是跨语言的,可以导...
  • lht501692913
  • lht501692913
  • 2015年12月17日 19:25
  • 2266

VS2010/MFC 利用OLE读写excel操作时,手动打开其他excel文档程序崩掉的问题解决

VS2010/MFC 利用OLE读写excel操作时,手动打开其他excel文档程序崩掉的问题解决
  • yu_fujiang
  • yu_fujiang
  • 2016年08月25日 15:27
  • 1590

VC用OLE方式读写Excel

(转自:http://blog.csdn.net/qinghezhen/article/details/9906023)   前几天要做一个项目,需要读取Excel中的数据。从网上查资料发现,...
  • Xp275500976
  • Xp275500976
  • 2014年03月25日 10:55
  • 4774

Perl 利用Win32::OLE操作Excel 技巧和诀窍

我翻译这个教程的目的就是为了回答Perl利用Win32::OLE操作Excel的有关问题,这些问题会经常遇到,但是没有一个浅显易懂的教程。如果你懂Perl,又有点VBA的知识,那么这篇短小精悍的教程你...
  • zhajio
  • zhajio
  • 2013年06月03日 22:28
  • 1470

Perl中使用Win32_OLE模块读写Excel的方法.kdh

  • 2010年01月15日 16:27
  • 50KB
  • 下载

使用ruby来操作excel文件 Win32ole

备注一个: 删除sheet时,请注意一个参数 excel.DisplayAlerts = false,否则会被提示信息block了参考 测试工作中,批量的数据通常会放到excel表格中,...
  • supergrape
  • supergrape
  • 2011年11月18日 15:04
  • 970

使用win32ole操作Excel-2

require 'win32ole' class Engines def time_now initialize @t =Time.now a = @t.to_s.sp...
  • Spark2008
  • Spark2008
  • 2011年11月15日 11:43
  • 2961

使用Win32::OLE操作Excel——Excel对象模型

使用Win32::OLE模块操作Excel
  • will2ni
  • will2ni
  • 2011年01月21日 11:38
  • 5462

Python3.4对Excel和Word的操作----win32com

在python的应用过程中,有时候需要有一些记录输出,表格和文档是比较实用、大众和清晰的工具 工具: Python3.4 win32com模块 以下贴代码#-*- encoding: ...
  • u011122229
  • u011122229
  • 2015年10月20日 18:51
  • 3999

unknown OLE server: ‘AutoItX3.Control’ (WIN32OLERuntimeError)

Following error is displayed when we run the script,>ruby test.rbC:/Ruby/lib/ruby/gems/1.8/gems/wati...
  • cai15191466621
  • cai15191466621
  • 2011年05月03日 16:44
  • 1719
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Perl通过WIN32 OLE来操作EXCEL
举报原因:
原因补充:

(最多只允许输入30个字)