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 相关文章推荐
go结构体嵌套的切片数组操作
Apr 28 Golang
解决go在函数退出后子协程的退出问题
Apr 30 Golang
解决Goland 同一个package中函数互相调用的问题
May 06 Golang
使用golang编写一个并发工作队列
May 08 Golang
go 实现简易端口扫描的示例
May 22 Golang
Go遍历struct,map,slice的实现
Jun 13 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
golang用type-switch判断interface的实际存储类型
Apr 14 Golang
Golang入门之计时器
May 04 Golang
GoFrame基于性能测试得知grpool使用场景
Jun 21 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中与数组相关的函数
2007/03/22 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
python检测是文件还是目录的方法
2015/07/03 Python
Python进程间通信之共享内存详解
2017/10/30 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
车间班组长岗位职责
2013/11/13 职场文书
施工质量承诺书范文
2014/05/30 职场文书
公司副总经理任命书
2014/06/05 职场文书
保险公司开门红口号
2014/06/21 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
违纪检讨书范文
2015/01/27 职场文书
部门2015年度工作总结
2015/04/29 职场文书
工程款催款函
2015/06/24 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android