最近研究了下PERL生成PDF,WORD,EXCEL
有一个是HTML2PDF,可惜依赖的包太多,而且有个包我怎么装都装不上去。HTML2WORD的我没找到,倒是找到了XML2EXCEL的,可惜最后运行的时候出错,也许是不支持新版EXCEL导出的数据格式吧,最后找到了个直接从数据库提取数据生成EXCEL的模块!
Spreadsheet::WriteExcel::FromDB是一个轻量级转换数据库表到Excel的模块(注意安装的时候可能会提示你还需要其它的模块,一般来说安装上就可以了)
use DBI;#没有载入会出错
use Spreadsheet::WriteExcel::FromDB;
my $dbh = DBI->connect(...); #和DBI的使用方法一样my $ss = Spreadsheet::WriteExcel::FromDB->read($dbh,表名);
$ss->ignore_columns(qw/foo bar/); #转换除了这里指定字段外的所有字段
# 或则
$ss->include_columns(qw/foo bar/);#只转换这里指定的字段$ss->restrict_rows('age > 10'); #这里是个查询条件,类似于SQL语句中的WHERE
print $ss->as_xls; #打印这个EXCEL
# 或则
$ss->write_xls('spreadsheet.xls');#保存到文件
至此一个EXCEL就生成了,EXCEL的字段名对应你数据库的字段名
现在还不知道能不能支持中文,你可以自己尝试下
欢迎大家一起探讨:我的MSN:sintendonsnake [AT] hotmail.com
EMAIL: loveme1314 [AT] gmail.com