perl ole接口 API演示介绍
来源:互联网 发布:交通组织优化方案实例 编辑:程序博客网 时间:2024/05/22 04:30
1. perl ole 接口演示
use Win32::OLE;use Win32::OLE qw(in with);use Win32::OLE::Variant;use Win32::OLE::Const 'Microsoft Excel';$Excel = Win32::OLE->GetActiveObject('Excel.Application') ||Win32::OLE->new('Excel.Application');$Excel->{'Visible'} = 1;#0 is hidden, 1 is visible$Excel->{DisplayAlerts}=0;#0 is hide alerts# Open File and Worksheetmy $Book = $Excel->Workbooks->Open('D:\check_all.csv'); # open Excel file$Sheet = $Book->Worksheets(1);# Create New Workbook$Excel->{SheetsInNewWorkBook} = 1;$Book2 = $Excel->Workbooks->Add();$Sheet2 = $Book2->Worksheets(1);$Sheet2->{Name} = 'My test worksheet';# Find Last Column and Rowmy $LastRow = $Sheet->UsedRange->Find({What=>"*",SearchDirection=>xlPrevious,SearchOrder=>xlByRows})->{Row};my $LastCol = $Sheet->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious,SearchOrder=>xlByColumns})->{Column};$mylastcol = a;for (my $m=1;$m<$LastCol;$m++){$mylastcol++;}$mylastcol2 = a;for (my $m=1;$m<($LastCol - 1);$m++){$mylastcol2++;}print "Varble:$LastRow,$LastCol,$mylastcol,$mylastcol2 \n\n";# Draw Bordersmy @edges = qw (xlInsideHorizontal xlInsideVertical);$range = "a1:$mylastcol$LastRow"; my $ColIndex = 2;foreach my $edge (@edges){$ColIndex++;with (my $Borders = $Sheet->Range($range)->Borders(eval($edge)), LineStyle =>xlContinuous,Weight => xlThin ,ColorIndex => $ColIndex);}# Cell Values$Sheet->Range('b1')->{Value} = $Sheet->Range('b2')->{Value};# Resize Columnsmy @columnheaders = qw(A:B);foreach my $range(@columnheaders){print "$range \n";$Sheet->Columns($range)->AutoFit();}# Order Rows$tmp = "$mylastcol2".'3';$Rangea = $Sheet->Range("$tmp");$Rangeb = $Sheet->Range("a3");$Excel->Selection->Sort({Key1 => $Rangea,Order1 => xlDescending,Key2 => $Rangeb});# Merge Cells$mynextcol = 'b';for (my $n=1;$n<$LastCol;$n+=2){my $range = $mynextcol++ . '1:' . $mynextcol++ . '1';$Sheet->Range($range)->Merge();$Sheet->Range($range)->{HorizontalAlignment} = xlHAlignCenter;}print $Sheet->Cells(1,'c')->Interior->{Color};#设置cell的填充底色$Sheet->Cells(1,1)->Interior->{Color} = 0;$Sheet->Cells(3,1)->Interior->{Color} = 11113333;exit;# Pie Chartmy $Range = $Sheet->Range('a1:d2');my $Chart = $Book->Charts->Add;$Chart->ChartWizard($Range,xl3DPie,7,xlRows,1,0,2,"Sales Percentages");# Bar Graph and Rotatemy $Range = $Sheet->Range('a1:a3');my $Chart = $Excel->Charts->Add;$Chart->{Type} = xl3DColumn;for (my $i = 30; $i <=180; $i+=10){$Chart->{Rotation} = $i;sleep(1);}# Line Chart and Savemy $Range = $Sheet->Range('a1:d2');my $Chart = $Excel->Charts->Add;$Chart->{ChartType} = xlLine;$Chart->SetSourceData({Source => $Range, PlotBy => xlColumns});$Chart->{HasTitle} = 1;$Chart->ChartTitle->{Text} = "Some Title";my $ChartObj = $Sheet->ChartObjects;$Chart->Export({FileName => $filegraphname,FilterName => 'GIF',Interactive => 0});# Save as PDF$Excel->ActiveWindow->SelectedSheets->PrintOut({Copy => 1,ActivePrinter => 'Acrobat PDFWriter'});# Save as Excel$Book->SaveAs({Filename =>'D:\check_all.xls',FileFormat => xlWorkbookNormal}); $Book->Close();$Excel->Quit();
2. excel列名转换,1到a,2到b
sub GetExcelColName(){ my ($ColIndex) = @_; my $LeadColIndex = int($ColIndex/26); my $LagColIndex = $ColIndex%26; print "$LeadColIndex,$LagColIndex \n"; return &GetSingleColumnName($LeadColIndex).&GetSingleColumnName($LagColIndex);}sub GetSingleColumnName() {
my $colname; my ($ColIndex) = @_; if ($ColIndex<1){ return "";} $colname = ord('A'); $colname += ($ColIndex-1); return chr($colname); }
- perl ole接口 API演示介绍
- 演示Collection接口API介绍
- ole接口
- Perl和OLE Automation
- C/S架构移动网络Socket API接口 Socket网络库 xNet框架介绍(C++封装) Demo演示示例
- [仙子介绍] memcached及其Perl API
- Lock接口API简单介绍
- OLE打印PDF(Perl)
- perl win32::ole 操作excel
- OLE DB API 程序设计
- Microsoft API - OLE
- OLE接口用法
- OLE接口详解
- 所有OLE接口
- 所有OLE接口
- OLe复合文档介绍
- OLE Drag&Drop 介绍
- OLE Drag&Drop 介绍
- Redis: under the hood
- ios开发 数据存储
- 线程局部变量
- html,css,js代码格式化,及其压缩
- dll与lib之间的区别
- perl ole接口 API演示介绍
- Java上路15-集合工具类
- Redis入门
- C++ 有关赋值构造函数 拷贝构造函数 自动型别转换
- Redis在Linux中的安装与启动
- HDOJ 1241 Oil deposits
- php 配置GD2.dll 和 php_curl.dll
- SBJson用法
- JSP————标签小结