脚本:用Perl脚本生成Excel表格

| 暂无评论 | 暂无引用通告

-->   由于业务需要要求提供服务器的性能数据,要求添写表格(只是一段时间),手动添写一定会被累死,于时忙乎了一个下午写了个Perl脚本用于生成Excel 表格,开始的时候找到Spreadsheet::ParseExcel这个模块,但是这个模块只能读取表格中的信息,后来发现了 Spreadsheet::WriteExcel这个模块,可以生成Excel表格,遗憾的事不能更改表格文件,以下是我的脚本:
#!/usr/bin/perl -w
#use strict;

use Encode 'decode';
use Spreadsheet::WriteExcel;


my $workbook = Spreadsheet::WriteExcel->new("perl.xls");
$workbook->add_format('border'=>5);

# Add a worksheet
$worksheet = $workbook->add_worksheet();
$worksheet->set_column('A:B', 13);
#  Add and define a format
$format = $workbook->add_format(); # Add a format
    $format->set_align('left');
    $format->set_font('AR PL ShanHeiSun Uni');
@{$data[0]}[2..10]=qw/host1 host2 host3 host4 host5 host6/;
my @frame=qw/CPU状况 内存状况 IO状况 系统分区 应用分区 网络状况 进程信息 应用系统信息 数据库信息/;
foreach my $i (1,5,12,16,19,21,24,28){
        $data[$i][0]=shift @frame;
}
@frame=qw/用户时间 内核运行时间 空闲状态时间 物理内存总量 已用物理内存 可用物理内存 SWAP分区大小 已用SWAP大小 可用SWAP大小 读取速度 写入速度 读入速度 写入速度 当前连接数 总进程数 活跃进程数 占用CPU比率 占用内存数量 占用SWAP量 表空间总量 剩余表空间/;
foreach my $i (2,3,4,6,7,8,9,10,11,14,15,17,18,20,22,23,25,26,27,29,30){
        $data[$i][1]=shift @frame;
}
foreach my $rownumber(0..$#data){
        foreach my $colnumber (0..$#{$data[$rownumber]}){
                        next unless defined $data[$rownumber][$colnumber];
                 $worksheet->write($rownumber,$colnumber,decode('gb2312',"$data[$rownumber][$colnumber]"),$format);
        }
}

  下面是生成的表格截图,至于各种性能数据,用脚本提取并插到上面的脚本中就行了。
关于系统的性能参数可以参考以前的文章
写完完整的脚本我也会将其贴出来的。
perlexcel.jpg






暂无引用通告

发送引用通告网址: http://supersun.info/mt/mt-tb.cgi/780
如果您想引用这篇日记到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

最新资源

  • IMG_1437.JPG
  • line.png
  • bar.png
  • perl_calander.jpg

关于此日记

此日记由 supersun 发表于 2007年10月26日 18:03

此Blog上的上一篇日记布鲁斯口琴音阶对照表

此Blog上的下一篇日记命令行:用grep匹配ps输出信息是去掉grep行

首页归档页可以看到最新的日记和所有日记。