//写文件
filePath := "file_path/" //文件路径
fileName := fmt.Sprintf("%s.csv", test) //文件名称
fmt.Println(filePath + fileName)
csvDataFormat := "%s,%s\n"
csvData := fmt.Sprintf(csvDataFormat, "时间", "日期") //csv header
for _, data := range dbData{
csvData += fmt.Sprintf(csvDataFormat,
data.Time.Format("2006-01-02 15:04:05"),
data.Time.Format("2006-01-02"),
) //csv 内容
}
if _, err := os.Stat(filePath + fileName); os.IsNotExist(err) {
//创建文件
file, err := os.Create(filePath + fileName)
if err != nil {
c.String(400, err.Error())
return
}
//创建新的 Writer 对象
buf := bufio.NewWriter(file)
buf.WriteString(csvData)
buf.Flush()
defer file.Close()
}
//返回文件流
c.Writer.Header().Add("Content-type", "application/octet-stream")
c.Header("Content-Disposition", "attachment; filename="+fileName)
c.File(filePath + fileName)
golang_gin csv导出
于 2022-07-12 17:40:59 首次发布