新聞中心
本文實(shí)例講述了MySQL實(shí)現(xiàn)導(dǎo)出excel的方法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比黃南州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式黃南州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋黃南州地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
MySQL 要導(dǎo)出成 excel 文件很簡(jiǎn)單,執(zhí)行類似這樣的命令:
select * from 某個(gè)表 into outfile 'd:/文件名.xls';
上述命令你在服務(wù)器上執(zhí)行,就導(dǎo)在服務(wù)器 D: 盤,若在客戶端命令行方式執(zhí)行,就導(dǎo)在客戶端 D:盤 ,若在客戶端通過(guò) POST 方式執(zhí)行,則導(dǎo)在服務(wù)器 D:盤。能導(dǎo)成功的大前提是你有登錄權(quán)限,要有 select 權(quán)限,而且還要有 file 權(quán)限,如果沒(méi)有 file 權(quán)限,你將無(wú)法執(zhí)行 select....into outfile 和 load data infile .... 之類的操作。
至于加一個(gè)按鈕,點(diǎn)擊一下提示保存為 excel 文件,我想你可能指的是在網(wǎng)頁(yè)上吧?如果在網(wǎng)頁(yè)上,對(duì) MySQL 的操作一般被屏蔽在后面了,一般都是通過(guò)服務(wù)器端腳本語(yǔ)言(PHP,JSP,ASP之類的)去操作 MySQL,下面分別以 PHP 和JavaScript 為例,將數(shù)據(jù)庫(kù)查詢結(jié)果保存為 xls 的方法(兩種辦法我都實(shí)踐過(guò),是可行的):
1.PHP 方法:
調(diào)用 header()
函數(shù),參數(shù)如下:
header("content-type:application/msexcel"); header("content-disposition:filename=file001.xls");
這兩個(gè)函數(shù)放在 PHP 文件中執(zhí)行數(shù)據(jù)庫(kù)查詢操作之前。
一般,數(shù)據(jù)庫(kù)查詢操作結(jié)束后,可通過(guò) echo()
,printf()
之類的函數(shù)將查詢結(jié)果展示給客戶端,如果在執(zhí)行數(shù)據(jù)庫(kù)操作之前加了上述兩行,則客戶端將不再顯示結(jié)果,而是出現(xiàn)一個(gè)下載并保存為 xls的對(duì)話框,路徑與文件名可以自由選擇。按鈕 或鏈接你可以放在第 1 頁(yè),將其指向第2頁(yè),第1頁(yè)用來(lái)向客戶端顯示結(jié)果,第2頁(yè)(PHP文件)放上上述兩行,然后寫上連接數(shù)據(jù)庫(kù)并執(zhí)行與第1頁(yè)相同的查詢操作的代碼。這樣你在第1頁(yè)上點(diǎn)擊此鏈接就會(huì)跳出一個(gè)下載并保存為 xls 的對(duì)話框,保存的內(nèi)容就是你在第 1 頁(yè)上看到的查詢結(jié)果,保存格式為 xls,保存后你可用 Excel 打開它進(jìn)行操作。
首先在數(shù)據(jù)所在頁(yè)面的 部分定義一個(gè) JS 函數(shù):
之前放上然后在下面做一個(gè)按鈕:
這樣就行了,這個(gè)顯示為“保存為 Excel 文件”,你點(diǎn)擊它就彈出一個(gè)保存對(duì)話框,保存的內(nèi)容就是數(shù)據(jù)結(jié)果集,格式為 xls 。
JS 是瀏覽器端腳本,用這種辦法將顯示結(jié)果保存為 xls ,其數(shù)據(jù)從服務(wù)器向客戶端只傳一次,節(jié)省傳輸資源。
另外還有一種辦法就是考慮將查詢結(jié)果集由 PHP 傳遞給 JS 數(shù)組變量,由其帶到客戶端,然后調(diào)用FileObjectSystem 進(jìn)行操作,這只是個(gè)思路,我沒(méi)去實(shí)踐過(guò)。
不當(dāng)之處請(qǐng)指正。
如果有亂碼問(wèn)題:可以使用如下語(yǔ)句
select convert(dname using gb2312),email from d_dealerinfo into outfile 'd:/d.xls';
其中dname 是中文的
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
網(wǎng)站名稱:MySQL實(shí)現(xiàn)導(dǎo)出excel的方法分析
鏈接分享:http://fisionsoft.com.cn/article/poseoh.html