国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

從MySQL導出XLS數據庫工具(跨平臺)

2024-07-24 12:54:39
字體:
來源:轉載
供稿:網友

 這個腳本是使用perl生成excel xls文件的工具。依賴一些模塊,你可以在linux下使用,產生xls文件。使用方式是命令行+參數。非常方便這個腳本是使用perl生成excel xls文件的工具。依賴一些模塊,你可以在linux下使用,產生xls文件。使用方式是命令行+參數。非常方便。
#!/usr/bin/perl

#===============================
#     mysql to excel
#     lastmodify at 2005-1-5
#     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','qq:q','rr:r','ss:s','tt:t','uu:u','vv:v','ww:w',
'xx:x','yy:y','zz:z');

#解析來內容
if ($#argv != '1') {
     print qq~syntax: my2excel.pl <writefilename> "[where expression]"
~;
     exit;
}
$argv[1]=~ s//"http://g;

warn qq~
mysql to excel
by hoowa.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() 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();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芷江| 宝丰县| 揭西县| 文化| 抚松县| 驻马店市| 广西| 义马市| 齐河县| 栾城县| 定西市| 老河口市| 农安县| 思茅市| 开远市| 昂仁县| 沧州市| 株洲市| 新干县| 舞阳县| 江阴市| 连州市| 双峰县| 青州市| 新巴尔虎左旗| 普兰县| 黎城县| 固原市| 明光市| 固安县| 临江市| 嘉善县| 黄大仙区| 武鸣县| 岳普湖县| 十堰市| 丰县| 夹江县| 长宁区| 龙门县| 漳州市|