欢迎来到代码驿站!

Golang

当前位置:首页 > 脚本语言 > Golang

golang实现浏览器导出excel文件功能

时间:2022-08-28 09:28:38|栏目:Golang|点击:

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

上一篇:go语言方法集为类型添加方法示例解析

栏    目:Golang

下一篇:Golang 如何判断数组某个元素是否存在(isset)

本文标题:golang实现浏览器导出excel文件功能

本文地址:http://www.codeinn.net/misctech/212046.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有