將MYSQL中資料匯出到EXCEL表

pathfinder_cui發表於2015-12-29

如何將MYSQL中資料匯出到EXCEL表中?


在網上找了一些方法,請大家參考:
最佳答案 

select * into outfile 'd:/test.xls' from  表名

其他答案:
方法一:進入到mysql的控制檯,輸入:
1. SELECT * INTO OUTFILE ‘./test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC  LIMIT 0, 50;
這樣,應該會在你的mysql的var/目錄下產生一個test.xls的檔案。。。
但是如果你的shell的登入帳戶和mysql的執行賬戶不同,很可能這個方法就不適用了,因為你可以透過mysql控制檯來產生這個檔案,但是你卻沒有辦法透過shell來對這個檔案進行操作,因為使用者不同,沒有訪問許可權。
這個時候,同事告訴偶滴辦法就重灌登入了!!!
1. echo "use datebase;SELECT * FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;"| /usr/bin/mysql -hlocalhost -uroot -pxxxxx > /tmp/test.xls
ok,把你的test.xls檔案從tmp下載到本地開啟來看看吧。。。
什麼?中文亂碼?
彆著急。。。
因為office預設的是gb2312編碼,伺服器端生成的很有可能是utf-8編碼,這個時候你有兩種選擇,
1.在伺服器端使用iconv來進行編碼轉換,
1. iconv -futf8 -tgb2312 -otest2.xls test.xls
如果轉換順利,那麼從server上下載下來就可以使用了。
轉換如果不順利,則會提示:iconv: illegal input sequence at position 1841 類似於這樣的錯誤,
先把test.xls下載下來,這個時候檔案是utf-8編碼的,用excel開啟,亂碼。
把test.xls以文字方式開啟,然後另存為,在編碼選擇ANSI編碼,儲存。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29620572/viewspace-1967317/,如需轉載,請註明出處,否則將追究法律責任。

相關文章