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


Posted in Golang onMarch 25, 2022

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文件导出内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
Golang二维切片初始化的实现
Apr 08 Golang
golang 生成对应的数据表struct定义操作
Apr 28 Golang
golang 比较浮点数的大小方式
May 02 Golang
go使用Gin框架利用阿里云实现短信验证码功能
Aug 04 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
Golang map映射的用法
Apr 22 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 Golang
GoFrame基于性能测试得知grpool使用场景
Jun 21 Golang
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
Jun 21 Golang
go goth封装第三方认证库示例详解
Aug 14 Golang
Golang使用Panic与Recover进行错误捕获
Mar 22 #Golang
Go语言特点及基本数据类型使用详解
详解Golang如何优雅的终止一个服务
Mar 21 #Golang
Go语言实现一个简单的并发聊天室的项目实战
Mar 18 #Golang
浅谈GO中的Channel以及死锁的造成
Mar 18 #Golang
Golang 并发下的问题定位及解决方案
Mar 16 #Golang
如何利用golang运用mysql数据库
You might like
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
React路由管理之React Router总结
2018/05/10 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
深入源码解析Python中的对象与类型
2015/12/11 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
学校后勤岗位职责
2014/02/19 职场文书
股权转让协议范本
2014/12/07 职场文书
与死神共舞观后感
2015/06/15 职场文书
好人好事新闻稿
2015/07/17 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
opencv检测动态物体的实现
2021/07/21 Python
Linux中各个目录的作用与内容
2022/06/28 Servers