仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 799|回复: 8
打印 上一主题 下一主题

[学习教程] 公布从MySQL导出XLS数据库东西(跨平台)

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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:53 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
板凳
发表于 2015-1-21 12:25:27 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
小妖女 该用户已被删除
地板
发表于 2015-1-30 18:12:17 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
变相怪杰 该用户已被删除
5#
发表于 2015-2-6 14:46:22 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
兰色精灵 该用户已被删除
6#
发表于 2015-2-16 18:00:31 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
海妖 该用户已被删除
7#
发表于 2015-3-5 07:59:43 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
分手快乐 该用户已被删除
8#
发表于 2015-3-12 01:58:32 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
莫相离 该用户已被删除
9#
发表于 2015-3-19 17:35:04 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 08:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表