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 interface判断为空nil的实现代码
Apr 24 Golang
go语言中切片与内存复制 memcpy 的实现操作
Apr 27 Golang
golang import自定义包方式
Apr 29 Golang
Golang中interface{}转为数组的操作
Apr 30 Golang
go类型转换及与C的类型转换方式
May 05 Golang
go语言中http超时引发的事故解决
Jun 02 Golang
go web 预防跨站脚本的实现方式
Jun 11 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
Golang 链表的学习和使用
Apr 19 Golang
Golang MatrixOne使用介绍和汇编语法
Apr 19 Golang
Golang ort 中的sortInts 方法
Apr 24 Golang
Go语言编译原理之源码调试
Aug 05 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
web css实现整站样式互相切换
2013/10/29 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
angular分页指令操作
2017/01/09 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
使用Python处理Excel表格的简单方法
2018/06/07 Python
python使用turtle库绘制时钟
2020/03/25 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
如何通过python画loss曲线的方法
2019/06/26 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
高中军训感言600字
2014/03/11 职场文书
学生会主席演讲稿
2014/04/25 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
民事上诉状范文
2015/05/22 职场文书
检讨书格式
2019/04/25 职场文书