html - 如何使用 golang 从查询中直接导出到 CSV
问题描述
我有一个 java 脚本,可将网站 html 表格内容从 Web 应用程序导出为 CSV。我想绕过它,当按下按钮时,它会运行查询并将其下载到 CSV,而无需先将其加载到 html 表中。有没有人有这样的事情?
这对于打印报告很有用。我有一些重要的报告,因为它们必须首先加载到网站上,这导致了太多的延迟。
解决方案
您只需执行以下操作:
func(w http.ResponseWriter, r *http.Request)
var data = [][]string{{"Line1", "Hello"}, {"Line2", "World"}}
buffer := &bytes.Buffer{} // creates IO Writer
writer := csv.NewWriter(buffer)
for _, value := range data {
err := writer.Write(value)
checkError("Cannot write to buffer", err)
}
writer.Flush()
w.Header().Set("Content-Type", "text/csv") // setting the content type header to text/csv
w.Header().Set("Content-Disposition", "attachment;filename=TheCSVFileName.csv")
w.Write(buffer.Bytes())
}
推荐阅读
- mysql - mySQL 中的日期计划函数?
- java - 在 Android 中保存签名的 X509Certificate 和 PrivateKey
- windows - 如何计算具有特定名称的文件夹数量并删除最旧的文件夹
- python - 如何在 TensorFlow 中无周期性边界滚动?
- c# - 如何在两个值之间随机化?
- php - 仅当单元格不为空时,SQL 查询才包含在 CONCAT 中
- azure - 微软翻译 API 3.0 到 HTML
- android - Android-support-v4 library doesn't have JobIntentService in B4A
- shiny - SelectInput and Leaflet not connecting
- docker - eth0 IP in the docker IPs range