仓酷云

标题: 公布从MySQL导出XLS数据库东西(跨平台) [打印本页]

作者: 逍遥一派    时间: 2015-1-16 20:10
标题: 公布从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>"[whereexpression]"
~;
exit;
}
$ARGV[1]=~s/"//g;
warnqq~
mysqltoexcel
byhoowa.sun
=====================
sql:$ARGV[1]
~;
my$dbh=
DBI->connect("DBI:mysql:mysql_compression=$trans_compress;
database=$dbname;host=$hostname",$username,$password);
my$sth=$dbh->prepare("$ARGV[1]")||die$dbh->errstr;
my$rows=$sth->execute()ordie$sth->errstr;
warn"rows:$rowsfound.
";
my@cols_name=@{$sth->{NAME}};
if($#cols_name>$#cols){
print"table$ARGV[1]fieldsoutofallow!!(maxnum.>".($#cols+1).")
";
exit;
}
warn"writeto:$ARGV[0]
";
#天生GB2312编码体系
my$map=Unicode::Map->new("gb2312");
#发生报表
my$report=Spreadsheet::WriteExcel::Big->new("$ARGV[0]")||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的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。
作者: 冷月葬花魂    时间: 2015-1-18 05:42
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
作者: 仓酷云    时间: 2015-1-21 12:25
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
作者: 小妖女    时间: 2015-1-30 18:12
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
作者: 变相怪杰    时间: 2015-2-6 14:46
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
作者: 兰色精灵    时间: 2015-2-16 18:00
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 海妖    时间: 2015-3-5 07:59
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
作者: 分手快乐    时间: 2015-3-12 01:58
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
作者: 莫相离    时间: 2015-3-19 17:35
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2