免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3555 | 回复: 1
打印 上一主题 下一主题

Spreadsheet::ParseExcel::SaveParser模块单元格格式设置问题 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-07-08 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-01-22 15:45 |只看该作者 |倒序浏览
本帖最后由 yilongyansha 于 2016-01-23 12:19 编辑

使用Spreadsheet:arseExcel::SaveParser添加excel内容

不知道哪里错了,新添加的单元格内容的格式设置不了?


我的代码如下:use strict;
use warnings;
use Spreadsheet:arseExcel;
use Spreadsheet:arseExcel::SaveParser;

my $week = 0;
my $num = 8;

my %hash = (
  "12" => "1.8",
  "13" => "4",
  "15" => "9.3",
  "16" => "3.4",
  "14" => "5.1",
  "17" => "11.6"
);
my %excel_row;


my $oldexcel = 'test.xls';
#读取旧excel $meter对应的行号
my $parse2 = Spreadsheet:arseExcel->new();
my $workbook = $parse2->arse($oldexcel);
my $worksheet2_1 = $workbook->worksheet(0);
my ($row_min,$row_max) = $worksheet2_1->row_range();
my ($col_min,$col_max) = $worksheet2_1->col_range();
foreach my $row ($row_min .. $row_max) {
        my $addr = $worksheet2_1->get_cell($row,0)->value();
        $excel_row{$addr} = $row;
}

my $parser = Spreadsheet:arseExcel::SaveParser->new();
my $newexcel = $parser->arse($oldexcel);
my $worksheet1 = $newexcel->worksheet(0);

$worksheet1->AddCell(1,$num,$num);
foreach my $addr (sort {$a <=> $b} keys %hash) {
        my $color = &colors($hash{$addr},$week);
        my $color_format = $newexcel->AddFormat(align => 'center',bg_color => $color);      
        my $addr_row = $excel_row{$addr};
        my $addr_col = $num;
        $worksheet1->AddCell($meter_row,$meter_col,$hash{$addr},$color_format);    #不知道是不是这错了
}

$newexcel->SaveAs('test.xls');

本来的想法是:单元格背景颜色设置:当$week=0时,如果数值大于等于4,则设置color为cyan,否则设置为red;当$week=1时,如果数值大于等于4,则设置color为orange,否则设置为gray


新添加的内容格式怎么没有呢?

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-07-08 22:20:00
2 [报告]
发表于 2016-01-22 16:28 |只看该作者

看到一句话
The $format parameter is the format number rather than a full format object.

是不是这个的原因啊?

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP