« 用PERL在DBI中调用MYSQL的存储过程! | (回到Blog入口) | 谁说DS上不能有操作系统哦? »

用MYSQL的数据生成EXCEL文件,我能!

最近研究了下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

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)

关于

此页面包含了发表于2007年3月 8日 11:11的 Blog 上的单篇日记。

此 Blog 的前一篇日记是 用PERL在DBI中调用MYSQL的存储过程!

此 Blog 的后一篇日记是 谁说DS上不能有操作系统哦?

更多信息可在 主索引 页和 归档 页看到。

Creative Commons License
此 Blog 中的日记遵循以下授权 Creative Commons(创作共用)授权.
Powered by
Movable Type 6.3.2