MySQL要匯出成excel的方法

來源:互聯網
上載者:User

標籤:

MySQL 要匯出成 excel 檔案很簡單,執行類似這樣的命令:

 select * from 某個表 into outfile  ‘d:/檔案名稱.xls‘; 上述命令你在伺服器上執行,就導在伺服器 D: 盤,若在用戶端命令列方式執行,就導在用戶端 D :盤 ,若在用戶端通過 POST 方式執行,則導在伺服器 D:盤。能導成功的大前提是你有登入許可權 ,要有 select 許可權,而且還要有 file 許可權,如果沒有 file 許可權,你將無法執行 select  ....into outfile 和 load data infile .... 之類的操作。  至於加一個按鈕,點擊一下提示儲存為 excel 檔案,我想你可能指的是在網頁上吧?如果在網頁上 ,對 MySQL 的操作一般被屏蔽在後面了,一般都是通過伺服器端指令碼語言(PHP,JSP,ASP之類的)去 操作 MySQL,下面分別以 PHP 和JavaScript 為例,將資料庫查詢結果儲存為 xls 的方法(兩種辦 法我都實踐過,是可行的): 1.PHP 方法:調用 header() 函數,參數如下:header("content-type:application/msexcel");header("content-disposition:filename=file001.xls"); 這兩個函數放在 PHP 檔案中執行資料庫查詢操作之前。 一般,資料庫查詢操作結束後,可通過 echo(),printf() 之類的函數將查詢結果展示給用戶端,如 果在執行資料庫操作之前加了上述兩行,則用戶端將不再顯示結果,而是出現一個下載並儲存為 xls  的對話方塊,路徑與檔案名稱可以自由選擇。按鈕<input type=button ...> 或連結<a href=...>你可以 放在第 1 頁,將其指向第2頁,第1頁用來向用戶端顯示結果,第2頁(PHP檔案)放上上述兩行,然 後寫上串連資料庫並執行與第1頁相同的查詢操作的代碼。這樣你在第1頁上點擊此連結就會跳出一個 下載並儲存為 xls 的對話方塊,儲存的內容就是你在第 1 頁上看到的查詢結果,儲存格式為 xls,保 存後你可用 Excel 開啟它進行操作。  PHP 是伺服器端指令碼,用上述辦法實際上同樣的資料結果從服務端向用戶端傳了兩次,第一次用來顯 示,第二次用來打包成 xls 檔案供下載。 2.JavaScript 方法: 首先在資料所在頁面的 <head> 部分定義一個 JS 函數: <head><script language="javascript"> function xSaveAsxls( xResult , xFileName ){var ow=window.open();with(ow){  document.write(Result);  document.execCommand(‘Saveas‘, true, xFileName);  close();}}</script> </head> 然後在展示資料的 <table> 之前放上 <div id=div_id>,在</table>之後放上</div>。 然後在下面做一個按鈕:<input type="button" value="儲存為 Excel 檔案" onclick=xSaveAsxls (document.all.div_id.innerHTML,‘filename.xls‘)>  這樣就行了,這個顯示為“儲存為 Excel 檔案”,你點擊它就彈出一個儲存對話方塊,儲存的內容就 是資料結果集,格式為 xls 。 JS 是瀏覽器端指令碼,用這種辦法將顯示結果儲存為 xls ,其資料從伺服器向用戶端只傳一次,節省 傳輸資源。  另外還有一種辦法就是考慮將查詢結果集由 PHP 傳遞給 JS 陣列變數,由其帶到用戶端,然後調用 FileObjectSystem 進行操作,這隻是個思路,我沒去實踐過。 不當之處請指正。  如果有亂碼問題:可以使用如下語句select  convert(dname using gb2312),email from d_dealerinfo  into outfile  ‘d:/d.xls‘;其中dname 是中文的

MySQL要匯出成excel的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.