• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

goexcel导出

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

gin中文件流导出excel

func GoodsExport(c *gin.Context) {
    var list []GoodsExports
    dbMysql := mysql.GetORM()
    sql := `select goods_id,user_id,goods_name from tb_goods`
    dbMysql.SQL(sql).Find(&list)
    //导出
    var file *xlsx.File
    var sheet *xlsx.Sheet
    var row *xlsx.Row
    var err error

    file = xlsx.NewFile()
    sheet, err = file.AddSheet("Sheet1")
    if err != nil {
        fmt.Printf(err.Error())
    }

    row = sheet.AddRow()
    row.AddCell().Value = "商品ID"
    row.AddCell().Value = "用户"
    row.AddCell().Value = "商品标题"
    for _, v := range list {
        row = sheet.AddRow()
        row.AddCell().Value = strconv.Itoa(v.GoodsId)
        row.AddCell().Value = v.UserId
        row.AddCell().Value = v.GoodsName
    }
    buf := new(bytes.Buffer)
    err = file.Write(buf)
    if err != nil {
        fmt.Printf(err.Error())
        return
    }
    c.Header("Content-Description", "File Transfer")
    c.Header("Content-Disposition", "attachment; filename=商品.xlsx")
    c.Data(http.StatusOK, "text/xlsx", buf.Bytes())

}
View Code

 导出csv

 1 func makeCsv(fileName string, data [][]string) string {
 2     fileName += ".csv"
 3     filePath := "./static/" + fileName
 4     fp, err := os.Create(filePath) // 创建文件句柄
 5     err_handle.CheckErr(err)
 6 
 7     defer fp.Close()
 8     fp.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM
 9     w := csv.NewWriter(fp)         //创建一个新的写入文件流
10     w.WriteAll(data)
11     w.Flush()
12     return fileName
13 }
View Code

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
GO开发[五]:结构体struct和方法发布时间:2022-07-10
下一篇:
WIN TO GO实现win10系统迁移发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap