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 相关文章推荐
win10下go mod配置方式
Apr 25 Golang
golang正则之命名分组方式
Apr 25 Golang
golang http使用踩过的坑与填坑指南
Apr 27 Golang
Go 在 MongoDB 中常用查询与修改的操作
May 07 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
详解Go语言Slice作为函数参数的使用
Jul 02 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
简单聊聊Golang中defer预计算参数
Mar 25 Golang
Go归并排序算法的实现方法
Apr 06 Golang
golang三种设计模式之简单工厂、方法工厂和抽象工厂
Apr 10 Golang
Golang 对es的操作实例
Apr 20 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 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
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
心扬JS分页函数代码
2010/09/10 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
Python标准库之sqlite3使用实例
2014/11/25 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Python descriptor(描述符)的实现
2020/11/15 Python
如何用python写个模板引擎
2021/01/14 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
夜大自我鉴定
2013/10/31 职场文书
骨干教师培训制度
2014/01/13 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
大学班级文化建设方案
2014/05/06 职场文书
党课心得体会范文
2014/09/09 职场文书
2014年残联工作总结
2014/11/21 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
元旦晚会开场白
2015/05/29 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
高中生军训感言
2015/08/01 职场文书
2016年端午节寄语
2015/12/04 职场文书