Perl Spreadsheet::WriteExcel 模块自动生成excel 文件

Spreadsheet::WriteExcel 是一个跨平台的生成excel文件的模块, 可以方便的设置单元格内容, 样式, sheet 的名称;

但是默认情况下中文会乱码, 需要用Encode模块进行编码转换;

#!/usr/bin/perl
use warnings;
use strict;
use Spreadsheet::WriteExcel;
use Encode qw/decode/;

my $excel_object = Spreadsheet::WriteExcel->new("test.xls");

# sheet1 
my $sheet1 = $excel_object->add_worksheet("test_sheet");

# 设置格式
my $cell_fmt = $excel_object->add_format(); 
$cell_fmt->set_size('10');         # 字号
$cell_fmt->set_align('center');    # 对齐方式 
$cell_fmt->set_font('Tahoma');     # 字体
$cell_fmt->set_bg_color('13');      # 背景色

# 填充内容
my $A1 = decode("utf8", "山西"); 
my $B1 = decode("utf8", "太原");
$sheet1->write("A1", $A1, $cell_fmt); 
$sheet1->write("B1", $B1, $cell_fmt);


#关闭excel的对象
$excel_object->close();

这样以后就可以用脚本生成excel 文件了, 更详细的用法和参数可以查阅 http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.40/lib/Spreadsheet/WriteExcel.pm;