脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - golang实现浏览器导出excel文件功能

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

2022-09-09 11:33峰啊疯了 Golang

这篇文章主要介绍了golang实现浏览器导出excel文件功能,文章通过golang导出excel文件返回给web,实现浏览器导出excel文件功能,具有一定的参考价值,需要的小伙伴可以参考一下

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对象

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

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

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

3.3设置标题单元格

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

3.4设置内容单元格

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

3.5流媒体返回web

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

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

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

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

原文地址:https://blog.51cto.com/u_12040959/5053132

延伸 · 阅读

精彩推荐