`

perl 操作 excel 简单例子

    博客分类:
  • perl
阅读更多
#!/usr/bin/perl
use strict;
use warnings;


use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
use Win32::OLE::NLS qw(:LOCALE :TIME);
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
        || Win32::OLE->new('Excel.Application', 'Quit');

my$excelfile='E:\学习程序\perl\excelfile.xls';

#关闭警告信息,例如保存等,不跳出确认窗口
$Excel->{DisplayAlerts}=0;  

#创建一个workbook
#my $Book=$Excel->Workbooks->Add();
#   $Book->SaveAs($excelfile); # 增加一个workbook,然后保存

#直接打开一个excel 若存在
my$Book=$Excel->Workbooks->Open($excelfile);

#创建一个worksheet对象
my $Sheet = $Book->Worksheets("Sheet1");
#   $Sheet->Activate();
#   $Sheet->{Name} = "DidItInPerl";

#插入数据
my ($mday,$mon,$year) = (localtime(time))[3,4,5];
$year += 1900;
$mon += 1;
my $str = $year."/".$mon."/".$mday;

#Range  行方法
$Sheet->Range("C1")->{Value}=$str;
$Sheet->Range("D1")->{Value}="今天的日期";

#迭代插入数据
foreach my$x (1 ..50) {
    my$range="A".$x;
    $Sheet->Range($range)->{Value}="这是第$range行";
}


#循环访问sheet
my $sheetcnt = $Book->Worksheets->Count();
foreach (1..$sheetcnt){
   print "\t" .$Book->Worksheets($_)->{Name} ."\n";
}

foreach my $Sheet(in $Book->{Worksheets}){
   print "\t" .$Sheet->{Name} ."\n";
}


#找到最后一行 最后一列方法
my $LastRow = $Sheet->UsedRange->Find({What=>"*",
    SearchDirection=>xlPrevious,
    SearchOrder=>xlByRows})->{Row};

my $LastCol = $Sheet->UsedRange->Find({What=>"*",
                  SearchDirection=>xlPrevious,
                  SearchOrder=>xlByColumns})->{Column};
print "最后一列:",$LastCol,"\n";
print "最后一行:",$LastRow,"\n";


#读取第一行到最后一行数据
print "#" x80,"\n";
print "读取A列第一行到最后一行数据\n";
my$tmp;
foreach my$last_data (1..$LastRow) {
    $tmp=$Sheet->Range("A".$last_data)->{Value};
    print "第$last_data行数据:",$tmp,"\n";
}


#学习来源perlmonks.org

#############################################################
分享到:
评论

相关推荐

    Perl-Tk电子表格模块例子

    电子表格模块,用于放置物件

    ASP.NET编程百例 PDF扫描版 附源代码(vb.net)

    ASP NET是微软.NET战略中的一个重要成员 除了可以使用Visual C# VB.NET VisualC++ NET JScript.NET等语言编写外 还可以使用第三方的.NET接口 如COBOL.NET Perl.NET等 进行编写 本书通过100个精彩实例 由浅入深...

    ASP.NET编程百例(PDF)

    ASP.NET是微软.NET战略中的一个重要成员,除了可以使用Visual C#、VB.NET、VisualC++.NET、JScript.NET等语言编写外,还可以使用第三方的.NET接口(如COBOL.NET、 Perl.NET等)进行编写。本书通过100个精彩实例...

    chilkat-9.5.0-python-3.6-x64.tar.gz

    Java实例 Lianja的例子 MFC范例 Objective-C示例 Perl范例 PHP ActiveX示例 PHP扩展示例 PowerBuilder示例 PowerShell示例 PureBasic示例 CkPython示例 Chilkat2-Python示例 Ruby示例 SQL Server示例 ...

    zabbix_get_events:接收事件,保存在Excel中并通过邮件发送

    Zabbix活动接收事件,保存在Excel中并通过邮件发送例子:

    2018 猎豹网校 教程大全 资源难找赶紧保存吧

    Excel 零基础教程(赠送图表操作技巧)[MP4] Excel 达人进阶 你早该这么玩 Excel[MP4] Excel 达人进阶 公式和函数使用技巧[MP4] DirectX 9.0 3D 游戏开发编程基础[MP4] Delphi基础课程[MP4] C语言高级教程 指针和...

    TAL Bar Code ActiveX Control控件

    TAL Bar Code ActiveX控件 向Access, VB, Web pages, ... 提供大量的运用实例:Access, Visual Basic, MS and Borland C++, Delphi, Excel, Word, Internet Explorer, CGI/Perl 和 Active Server Page (ASP)等。

    网管教程 从入门到精通软件篇.txt

    可用NSREX打开 Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言源文件,Pro/E装配文件 ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 AST:Astound多媒体文件;...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包一.共两个压缩包

    本例是“检测Apache网络日志--google search terms”的例子。本例使用的正则式在PowerGREP帮助文档中有详细讲解。 灵活的“撤消”历史记录,让你不再抓狂,点这里; 在执行替换的同时,PowerGREP已经备份了原...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包二.共两个压缩包

    本例是“检测Apache网络日志--google search terms”的例子。本例使用的正则式在PowerGREP帮助文档中有详细讲解。 灵活的“撤消”历史记录,让你不再抓狂,点这里; 在执行替换的同时,PowerGREP已经备份了原...

    测试培训教材

    The VAPI-XP testing tool enables you to create new testing scripts using Microsoft VBScript, Microsoft JavaScript (JScript version), PerlScript, and PythonScript, and integrate these scripts into your...

Global site tag (gtag.js) - Google Analytics