mysql 查詢出數據之後, 可以選擇導出文件 默認是csv文件 如果是整數類型的數據 可以CONCAT('\'', filed) 多加個'就可以變成文本了, 然後以文本編輯器打開csv文件 把'等字符替換為空字符串。
新建一個excel文件,找到數據--》自文本,選擇下一步 格式為文本 確定即可
一些基本的excel函數:
計算某個字符或數字等的個數:=COUNTIF(A:A,"測試") 就是在A列的'測試'這個字符串出現的個數
根據身份證號計算性別:=IF(MOD(MID(A1,IF(LEN(A1)=15,15,17),1),2)=1,"男","女")
然後格式化計算出一個結果的整個計算,比如性別那一列 選中這一列的第一個計算出的結果 按住Ctrl+這一列出現的+號然後雙擊 就可以計算這一列的所有數據
根據身份證號計算年齡:=DATEDIF(TEXT(MID(A1,7,LEN(A1)/2-1),"0-00-00"),TODAY(),"Y")
統計年齡段的個數:C列為年齡統計的列 =IF(C1>50,"50以上",IF(C1>=40,"40-50",IF(C1>=28,"28-40",IF(C1>=23,"23-28", IF(C1>=18, "18-22", "18以下")))))
ok 以上是一些基本的計算函數, 當然excel還有很多函數,需要用的時候查資料好了。
select * into outfile 'd:/test.xls' from 表名
方法一:
先導入到sql裡面再從sql導出excel
方法二:
$file_type = "vnd.ms-excel"; // excel表頭固定寫法
$file_ending = "xls"; // excel表的後綴名
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=list.$file_ending"); // agentfile到處的表名
header("Pragma: no-cache"); // 緩存
header("Expires: 0");
echo mb_convert_encoding("姓名","GBK","utf-8")." \t ".mb_convert_encoding("年齡","GBK","utf-8")." \t ".mb_convert_encoding("時間","GBK","utf-8");
print("\n");
//循環數據~ 換行就print("\n");
exit;
--------------------------
這樣就好了。
基本上,定義好mimetype,輸出內容。就會自動下載成excel了注意:不要用下載工具。
方法三:
1.導出
select * from test outfile '/tmp/reg.xls'
將導出數據放在/tmp目錄下
2.編碼轉換
因為excel默認編碼是GB3212,數據中有中文是需進行轉換,轉換命令
iconv -futf8 -tgb2312 -oreg2.xls reg.xls
轉換如果失敗:
iconv: illegal input sequence at position 1841 類似於這樣的錯誤,先把reg.xls下載下來,這個時候文件是utf-8編碼的,用excel打開,亂碼。把reg.xls以文本方式打開,然後另存為,在編碼選擇ANSI編碼,保存。亂碼問題就解決了.