帮我检查一个perl程序,用于excel的

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:02:42
#!/usr/bin/perl
#从一个txt中读记录到excel中去
use Win32::OLE; #导入OLE

my $ex = Win32::OLE->new('Excel.Application') or die "oops\n";
my $xw = $ex->Workbooks->Open("d:/perl test.xls");
#在这里修改excel文件名
my $sheetxw = $xw->Sheet2;
#选择sheet

#$sheetxw->cells(1,1)->{value} ="12344";

open (EXAMPLE,'d:/test.txt')||die("error! \n"); #在这里修改txt文件名

@cc = <EXAMPLE>;
#文件句柄cc
#print(@cc[0]);
#输出测试

my $i = 1;
#控制组 5个为一组
my $hang = 2;
#指向行

foreach $pp (@cc)
{
my $k = $i%5;

#my $sheetxw = $xw->Sheet2;

my $sheetxw = $xw->Worksheets(1);
不过你这个例子我觉得不太好,你可以参照这个:

#!/usr/bin/perl -w

#use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';

$Win32::OLE::Warn = 3; # die on errors...

# get already active Excel application or open new
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');

# open Excel file
my $Book = $Excel->Workbooks->Open("c:/test.xls");

# select worksheet number 1 (you can also select a worksheet by name)
my $Sheet = $Book->Worksheets(1);

foreach my $row (1..4)
{
foreach my $col (1..3)
{
# skip empty cells
next unless defined $Sheet->Cells($row,$col)->{'Value'};

# print out the contents