這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
以前輸入excel的時候utf8總是亂碼還是用其他方式把utf8轉換為gbk才能顯示,呵呵,其實是輸出了csv,後來群裡的朋友說需要utf8BOM Excel才能正常識別utf8,今天測試了一下,很爽,比以前省了好幾行代碼.呼呼
BOM資訊參考:
http://zh.wikipedia.org/wiki/位元組順序記號
golang實現:
package main import ( "os" "encoding/csv") func main() { f, err := os.Create("haha2.xls") if err != nil { panic(err) } defer f.Close() f.WriteString("\xEF\xBB\xBF") // 寫入UTF-8 BOM w := csv.NewWriter(f) w.Write([]string{"編號","姓名","年齡"}) w.Write([]string{"1","張三","23"}) w.Write([]string{"2","李四","24"}) w.Write([]string{"3","王五","25"}) w.Write([]string{"4","趙六","26"}) w.Flush()}
php實現:
<?php$datas = array( array(1, "張三", 23), array(2, "李四", 24), array(3, "王五", 25), array(4, "趙六", 26),); header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=".date('YmdHis').".xls"); $fp = fopen('php://output', 'w');fwrite($fp, pack("H6", "EFBBBF"));$head = array("編號", "姓名", "年齡");fputcsv($fp, $head);foreach ($datas as $r) { fputcsv($fp, $r);}fclose($fp);