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;