从导出数据库工具的
2021-10-29 04:36:34 兴城星座网
这个脚本是使用Perl生成excel xls文件的工具。依赖一些模块,你可以在linux下使用,产生xls文件。使用方式是命令行+参数。非常方便。
#!/usr/bin/perl
#===============================
# mysql to excel
# lastmodify at
# copyright by hoowa
#=============================
use strict; #严格语法检测
use DBI; #数据库引擎
use Unicode::Map; #Unicode引擎
#use Spreadsheet::WriteExcel; #Excel报表引擎
use Spreadsheet::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\',\':Q\',\'RR:R\',\'SS:S\',\'TT:T\',\'UU:U\',\'VV:V\',\'WW:W\',
\'XX:X\',\'YY:Y\',\'ZZ:Z\');
#解析来内容
if ($#ARGV != \'1\') {
print ~syntax: writefilename \"[where expression]\"
~;
exit;
}
$ARGV[1]=~ s/\\\"//g;
warn ~
mysql to excel
by n
=====================
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() or die $sth-errstr;
warn \"rows: $rows found.\\n\";
my @cols_name = @{$sth-{\'NAME\'}};
if ($#cols_name $#cols) {
print \"table $ARGV[1] fields out of allow!!(max num. \".($#cols+1).\")\\n\";
exit;
}
warn \"write to: $ARGV[0]\\n\";
#生成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++) {
next if ($row[$i] eq \'\');
$sheet-write_unicode($sheet_col,$i,$map-to_unicode($row[$i]));
}
}
warn \"all done!!!\\n\";
#结束
END {
$report-close() if ($report);
$dbh-disconnect();
}
银川白癜风哪好丹东白癜风医院哪家好
孩子消化不良吃什么好
- 上一篇:从导入导出大量数据的程序实现方呢
- 下一篇:从导出数据库工具跨平台
-
爱你是我的自由,就让你是我的感觉
往昔里你曾激浪勇进,不曾管天是晴割,幻想要若破灭随之粗犷,风卷浪花水里吟,怜日子給予撕裂,夏天到落叶纷纷,那一刹我已正因如此,才知是我...
星座性格2024.12.16
-
共赏盛夏奇观!vivo S15系列快闪大型活动来袭,热闹非凡
就在日前,vivo另一款了全新的#vivo S15#复刻版APP,欣赏了网友们的关注。为了让大家感受受到该复刻版机型的歌舞片感受制作意志力,vivo官方还在新机发...
星座性格2024.12.02
-
重磅!墨尔本顶级私校酝酿新校,学费低很多!华人妈亲述4岁琪一波三折入学过程
...
星座性格2024.10.24
-
美股短线跳水,三大股指尽数转跌
铝媒体 App 5月20日第一时间,美股短线艺术体操,三大期货剩余转跌。截至目前,道指跌0.3%,标普500指数、纳指跌0.15%。马斯克跌超5%,英伟达跌超3%,雅...
星座性格2024.10.21
-
最新应于!延期!
2022年看护执业资格笔试和环境卫生管理学技术资格笔试延期至7年底23日、24日、26日、27日、29日、30日举行,就其安排如下:看护执业资格笔试 笔试采用...
星座性格2024.10.20
-
美国“双雄”崛起!波音星际客船事与愿违对接国际空间站,意味着啥?
国际上太空梭的独立自主性每个人都发觉吧,它的确是造就了生命的奇迹,并且是在世界性范围里头,在轨运行最大的空间平台,是一个拥有的发展科研...
星座性格2024.10.06
-
总分毕业设计!男生用1400斤钢筋铸工人雕塑:向父亲和建造者致敬
新闻记者 | 周盾 兼职 | 刘至 6月18日,广州美术学院人像专业知识学生陈锦亿的毕业设计成名互联网,该杰作以哥哥为原形,用1400斤废铁、钢材等材料铸...
星座性格2024.09.05
-
儿歌多多儿歌舞蹈 小猪胖胖 宝宝一起学舞蹈 律动快乐童年 孩童舞蹈 星河知识计划智慧生活星 抖音青少
儿歌多多儿歌舞蹈 小猪胖胖 大头一起学舞蹈 律动快乐长大 幼儿舞蹈 和黄基础知识著手智慧生活星 抖音孩童 胃酸胃烧心吃什么药上火喉咙痛吃什么药好...
星座性格2024.07.29
-
清明节隔离在家,就在自家堂屋进香了,等一周后再去重阳节,不知道行不行!农村自建别墅 荣耀magic4
春节强制生病,就在自家后院进香了,等一周后再去扫墓,不知道行不行!城镇居民自建洋房 荣耀magic4 洋房图纸 海口治皮肤病医院电话兰州男科医院预...
星座性格2024.07.26
-
把女朋友当女儿养的男生也比较聪明 女孩子本来就是你越宠爱 她越可爱的 你给她足够的安全感和保护 她也
把女朋友当女儿饲的男生也非常聪明 女孩子本来就是你越好宠爱 她越好可爱的 你给她有限的安全感和保障 她也绝不给你加倍的爱 首选付桐哪个牌子的...
星座性格2024.07.21