用perl操作excel表格

想从1.xls中提取A列的数据,2.xls中提取A列的数据,做减法后输出3.xls中。怎么写perl程序呢?... 想从1.xls中提取A列的数据,2.xls中提取A列的数据,做减法后输出3.xls中。怎么写perl程序呢? 展开
 我来答
我是呐个谁i
推荐于2016-02-11 · TA获得超过1.2万个赞
知道答主
回答量:1466
采纳率:100%
帮助的人:56.4万
展开全部
# 创建一个新的EXCEL文件
my $workbook = Spreadsheet::WriteExcel->new('test.xls');
# 添加一个工作表
$worksheet = $workbook->add_worksheet();
# 新建一个样式
$format = $workbook->add_format(); # Add a format
$format->set_bold();#设置字体为粗体
$format->set_color('red');#设置单元格前景色为红色
$format->set_align('center');#设置单元格居中
#使用行号及列号,向单元格写入一个格式化和末格式化的字符串
$col = 1;
$row = 2;
$worksheet->write($row, $col, 'Hi Excel!', $format);
$worksheet->write( $col-1, $row-1 , 'Hi Excel!');
$worksheet->write(1, $col, 'Hi Excel!');
#使用单元格名称(例:A1),向单元格中写一个数字。
$worksheet->write('A3', 1.2345);
$worksheet->write('A4', '=SIN(PI()/4)');
exit;
在网上找到了demo代码,需要安装相关的包,在winddows下,
cmd模式,ppm,安装Spreadsheet-WriteExcel包。
PS:如果碰到中文写入时乱码问题,要ppm 安装Unicode_Map包,按照如下方法使用
use Unicode::Map();
my $Map = new Unicode::Map("GB2312");
my $abc='你好!';
$worksheet->write_unicode($LineCount, 1, $Map->to_unicode( $abc));
这样就可以了。
百度网友c9e795dda
2013-09-09 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1149万
展开全部
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 ] ) ;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友69d0e92
2013-09-09 · 超过30用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:105万
展开全部
用Win32::ole这个模块可以直接操作Excel
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式