公布从MySQL导出XLS数据库工具(跨平台)
MySQLAB公司的一个高级开发者者表示,“这个特点使得MySQL可以根据你当前的系统的需要来进行调整。”这个剧本是利用Perl天生Excelxls文件的工具。依附一些模块,你能够在linux下利用,发生xls文件。利用体例是命令行+参数。十分便利这个剧本是利用Perl天生excelxls文件的工具。依附一些模块,你能够在linux下利用,发生xls文件。利用体例是命令行+参数。十分便利。#!/usr/bin/perl
#===============================
#MySQLtoexcel
#lastmodifyat2005-1-5
#copyrightbyhoowa
#=============================
usestrict;#严厉语法检测
useDBI;#数据库引擎
useUnicode::Map;#Unicode引擎
#useSPReadsheet::WriteExcel;#Excel报表引擎
useSpreadsheet::WriteExcel::Big;#年夜文件Excel报表引擎
my$hostname=192.168.1.133;
my$username=user;
my$passWord=pass;
my$dbname=db;
my$trans_compress=1;#任何非一的数封闭数据库到程序间传输紧缩
$|=1;
my@cols=(A:A,B:B,C:C,D:D,E:E,F:F,G:G,H:H,I:I,J:J,
K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,
V:V,W:W,X:X,Y:Y,Z:Z,AA:A,BB:B,CC:C,DD:D,EE:E,
FF:F,GG:G,HH:H,II:I,JJ:J,KK:K,LL:L,MM:M,NN:N,
OO:O,PP:P,QQ:Q,RR:R,SS:S,TT:T,UU:U,VV:V,WW:W,
XX:X,YY:Y,ZZ:Z);
#剖析来内容
if($#ARGV!=1){
printqq~syntax:my2excel.pl<writefilename>""
~;
exit;
}
$ARGV=~s/"//g;
warnqq~
mysqltoexcel
byhoowa.sun
=====================
sql:$ARGV
~;
my$dbh=
DBI->connect("DBI:mysql:mysql_compression=$trans_compress;
database=$dbname;host=$hostname",$username,$password);
my$sth=$dbh->prepare("$ARGV")||die$dbh->errstr;
my$rows=$sth->execute()ordie$sth->errstr;
warn"rows:$rowsfound.
";
my@cols_name=@{$sth->{NAME}};
if($#cols_name>$#cols){
print"table$ARGVfieldsoutofallow!!(maxnum.>".($#cols+1).")
";
exit;
}
warn"writeto:$ARGV
";
#天生GB2312编码体系
my$map=Unicode::Map->new("gb2312");
#发生报表
my$report=Spreadsheet::WriteExcel::Big->new("$ARGV")||die"不克不及天生报表文件:$!";
#创立报表的事情表
my$sheet=$report->add_worksheet(data_report);
#创立格局
my$title_style=$report->add_format();$title_style->set_size(11);$title_style->set_bold();$title_style->set_align(center);
#初始化数据指针
my$sheet_col=0;
#创立表格
for(my$i=0;$i<=$#cols_name;$i++){
$sheet->set_column($cols[$i],length($cols_name[$i])+4);
$sheet->write_unicode($sheet_col,$i,$map->to_unicode($cols_name[$i]),$title_style);
}
$sheet->freeze_panes(1,0);#解冻行
while(my@row=$sth->fetchrow_array){
$sheet_col++;
for(my$i=0;$i<=$#cols_name;$i++){
nextif($row[$i]eq);
$sheet->write_unicode($sheet_col,$i,$map->to_unicode($row[$i]));
}
}
warn"alldone!!!
";
#停止
END{
$report->close()if($report);
$dbh->disconnect();
}
对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。 Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片? 微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
页:
[1]