美文网首页Go语言实践Go
golang web 开发 从数据库 导出到excel案例

golang web 开发 从数据库 导出到excel案例

作者: 数据小菜鸟 | 来源:发表于2019-09-25 10:23 被阅读0次

开发后台 或者 数据类网站 把 数据导出excel的需求比较常用。
这里我用gin web框架 结合 github.com/360EntSecGroup-Skylar/excelize 库 写一个简单的demo。
提供同行学习交流 自己也mark个案例。

第一步: 下载 库

go get github.com/360EntSecGroup-Skylar/excelize
go get github.com/gin-gonic/gin

第二步: 撸代码

package main

import (
    "github.com/360EntSecGroup-Skylar/excelize"
    "github.com/gin-gonic/gin"
)

func HanderDownload(c *gin.Context) {
    xlsx := excelize.NewFile()
    xlsx.SetCellValue("Sheet1", "A2", "我要下载一个excel文件")
    xlsx.SetCellValue("Sheet1", "A1", "有没有看到我帅气的脸庞")

    //保存文件方式
    //_ = xlsx.SaveAs("./aaa.xlsx")

    c.Header("Content-Type", "application/octet-stream")
    c.Header("Content-Disposition", "attachment; filename="+"Workbook.xlsx")
    c.Header("Content-Transfer-Encoding", "binary")

    //回写到web 流媒体 形成下载
    _ = xlsx.Write(c.Writer)

}

func main() {
    r := gin.Default()
    r.GET("/download", HanderDownload)

    r.Run()
}

第三步:编译跑起来

我的ide.png

第四部:测试

用浏览器访问 http://localhost:8080/download
下载页面.png
so_easy.png

就是这样容易。把数据库的数据直接写到excel 接口 Write 回到流就可以了。

相关文章

网友评论

    本文标题:golang web 开发 从数据库 导出到excel案例

    本文链接:https://www.haomeiwen.com/subject/fahoectx.html