- 论坛徽章:
- 3
|
本帖最后由 mcshell 于 2013-02-27 09:51 编辑
- #!/usr/bin/perl
- use strict;
- use warnings;
- use Excel::Writer::XLSX;
- use Encode ;
- sub H{
- my $text = shift;
- return decode('gb2312',$text);
- }
- my $workbook = Excel::Writer::XLSX->new('test.xlsx');
- my ($worksheet,$count,%hash);
- while(<DATA>){
- if($.>1){
- push @{$hash{(split)[3]}} , $_;
- }
- }
- map{$count++;my $num;
- $worksheet = $workbook->add_worksheet("Sheet$count");
- map{$num++;$worksheet->write_row("A$num",[split/\s+/,H($_)])}@{$hash{$_}}
- }keys %hash;
- $workbook->close();
- __DATA__
- 姓名 年龄 职业 工资收入
- 张三 29 教师 2000
- 李四 29 教师 1500
- 王五 30 工程师 2500
- 赵六 30 工程师 3000
- 吴七 31 医生 3000
复制代码 回复 1# zjx0103
|
|