2 回答
TA貢獻1821條經驗 獲得超5個贊
經過幾次嘗試,我找到了在 golang 中有效的解決方案,感謝@Steffen Ullrich 提供的鏈接。類似于在 VB 中的工作,而不是兩邊的兩個引號,一個應該足夠了:
row = append(row, "=\""+e. userCode +"\"")
將包含 CSV 文件中的所有前導零:
000001, 010101, 000000
TA貢獻1869條經驗 獲得超4個贊
我測試了你的代碼,結果在 excel 中會丟失零,但在 txt 閱讀器中不會;
代碼:
func main() { type user struct { Name string Code string }
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var buf bytes.Buffer
writer := csv.NewWriter(&buf)
var cols = []string{"Name", "Code"}
writer.Write(cols)
users := []user{{Name: "Tome", Code: "001"}, {Name: "James", Code: "000"}}
for _, e := range users {
err := writer.Write([]string{e.Name, e.Code})
if err != nil {
log.Fatalln(err)
}
}
writer.Flush()
w.Header().Set("Content-Type", "text/csv")
w.Header().Set("Content-Disposition", "attachment;filename="+"test.csv")
w.Write(buf.Bytes())
})
http.ListenAndServe(":8080", nil)
}
結果:
- 2 回答
- 0 關注
- 270 瀏覽
添加回答
舉報
