我有一个使用 Gin 框架的 Go 应用程序,它将结构导出到 CSV。一列userCode要求导出的字段保留字符串的所有前导零。
例如,对于 , , 等字符串000001,010101CSV000000中导出的字段应该具有完全相似的值。但是,如果我直接将字符串附加到行并写入缓冲区,导出的字段将发出所有前导零并且值变为:1,,,我做了一些挖掘10101, 看来这个问题可以通过设置列类型来解决在读取 csv 文件时在 Excel 中,但我想知道这是否可以在 Go 程序中解决?谢谢!
我的CSV导出相关功能:
func (h *HandleManager) ExportUsers() gin.HandlerFunc {
var buf bytes.Buffer
writer := csv.NewWriter(&buf)
var cols = []string{"User Name", ..., ....}
writer.Write(cols)
for _, e := range users {
var row []string
// ....
row = append(row, e.userCode) // type: string
if err := writer.Write(row); err != nil {
log.Errorff(h.logCtx, "ExportUsers|WriteToCSV|err:%v", err)
c.AbortWithStatus(http.StatusInternalServerError)
return
}
}
writer.Flush()
c.Writer.Header().Set("Content-Type", "text/csv")
c.Writer.Header().Set("Content-Disposition", "attachment;filename="+csvFileName+".csv")
c.Writer.Write(buf.Bytes())
}
收到一只叮咚
MMTTMM
相关分类