如何用perl操作excel,求代码 200
实现功能:提取excel表1和excel表2的某一列或一行数据,写入表3表1和2是原有的,3是新建的...
实现功能:提取excel表1和excel表2的某一列或一行数据,写入表3 表1和2是原有的,3是新建的
展开
1个回答
展开全部
use strict;
use Spreadsheet::Read;
use Spreadsheet::Write; # 这两个 module 你可能要自己用 ppm / cpan 下载
my $data = {};
my @files = ( "1.xls" , "2.xls" ) ;
# 读取
my $index = 1;
foreach my $f ( @files ) {
my $xls = ReadData ( $f ) ;
my $sheet = $xls -> [1]; # 第一张工张表
$data->{$index} = [];
push @{$data->{$index}}, $sheet->{"A$_"} foreach ( 1.. $sheet->{maxrow} ) ;
$index++;
}
#写入
my $xls = Spreadsheet::WriteExcel->new( "3.xls" );
my $sheet = $xls -> add_worksheet ( 'HelloWorld!' ) ;
foreach my $row ( 0.. $#{$data->{1}} ) {
my $sum = $data->{1}[$row] - $data->{2}[$row] ;
$sheet -> write_row ( 0, $row, [ $sum ] ) ;
}
use Spreadsheet::Read;
use Spreadsheet::Write; # 这两个 module 你可能要自己用 ppm / cpan 下载
my $data = {};
my @files = ( "1.xls" , "2.xls" ) ;
# 读取
my $index = 1;
foreach my $f ( @files ) {
my $xls = ReadData ( $f ) ;
my $sheet = $xls -> [1]; # 第一张工张表
$data->{$index} = [];
push @{$data->{$index}}, $sheet->{"A$_"} foreach ( 1.. $sheet->{maxrow} ) ;
$index++;
}
#写入
my $xls = Spreadsheet::WriteExcel->new( "3.xls" );
my $sheet = $xls -> add_worksheet ( 'HelloWorld!' ) ;
foreach my $row ( 0.. $#{$data->{1}} ) {
my $sum = $data->{1}[$row] - $data->{2}[$row] ;
$sheet -> write_row ( 0, $row, [ $sum ] ) ;
}
追问
不是很明白,读取这一段代码能描述一下是什么意思吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询