乘风原创程序

  • golang实现浏览器导出excel文件功能
  • 2022/3/25 12:50:10
  • 1.依赖包

    import (
    "github.com/tealeg/xlsx"
    )

    2.示例

    func (o *ordercontroller) export(request *restful.request, response *restful.response) {
    username := request.attribute(filters.username).(string)
    
    orderservice := service.neworderservice(o.db)
    
    orders, _ := orderservice.listuserorders(username)
    
    file := xlsx.newfile()
    sheet, _ := file.addsheet("订单信息")
    
    titles := []string{"服务类型", "订单号", "创建时间", "订单类型", "订单金额(元)", "订单状态", "原因"}
    row := sheet.addrow()
    
    var cell *xlsx.cell
    for _, title := range titles {
    cell = row.addcell()
    cell.value = title
    }
    
    for _, order := range *orders {
    values := []string{
    getservicetypestr(*order.servicetype),
    order.id,
    order.createtime.format("2006-01-02 15:04:05"),
    getordertypestr(*order.ordertype),
    "1",
    getorderstatusstr(*order.status),
    order.reason,
    }
    
    row = sheet.addrow()
    for _, value := range values {
    cell = row.addcell()
    cell.value = value
    }
    }
    
    filename := "订单信息" + ".xlsx"
    
    response.addheader("content-type", "application/octet-stream")
    response.addheader("content-disposition", "attachment; filename="+filename)
    response.addheader("content-transfer-encoding", "binary")
    
    //回写到web 流媒体 形成下载
    _ = file.write(response.responsewriter)
    }

    3.分析

    3.1先根据需求查询需要的list对象

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_github

    3.2新建文件,设置文件名,跟列名

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_github_02

    3.3设置标题单元格

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_封装_03

    3.4设置内容单元格

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_流媒体_04

    3.5流媒体返回web

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_流媒体_05

    这个示例是没有封装过的,如果想要封装,可以参考我的另一篇文章,下面是链接,喜欢小编的点点关注

    #yyds干货盘点#golang导出excel文件返回给web,实现浏览器导出excel文件功能_流媒体_06

    到此这篇关于golang实现浏览器导出excel文件功能的文章就介绍到这了,更多相关golang excel文件导出内容请搜索本教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持本教程网!