在日常开发中,针对数据导出,我们可以导出Excel格式,但是如果是针对大数据量的导出,直接导出为Excel格式可能需要占用大量内存,且导出速度很慢。这个时候我们就需要导出为CSV格式。

CSV 格式

CSV本质上是文本文件,该文件有以下要求:

列之间用逗号分隔,行之间用换行分隔

单元格如果有逗号、引号之类的字符,该单元格需要使用双引号括起来

如果内容包含中文,直接输出可能会乱码

实现方式

golang 官方有csv的库,可以很容易的实现csv数据的写入。

golang实现csv数据写文件

main

"data.csv"

if

"xEFxBBxBF"

"编号"

"姓名"

"年龄"

"1"

"张三"

"23"

"2"

"李四"

"24"

"3"

"王五"

"25"

"4"

"赵六"

"26"

golang实现web导出csv数据

此处以gin框架为例,如果用的go官方web库,其实差不多是一样的:

"xEFxBBxBF"

"编号"

"姓名"

"年龄"

"1"

"张三"

"23"

"2"

"李四"

"24"

"3"

"王五"

"25"

"4"

"赵六"

"26"

"Content-Disposition"

"attachment;filename=data.csv"

"text/csv"

return

点击左下角阅读原文,到

SegmentFault 思否社区

和文章作者展开更多互动和交流。

- END -