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 interface判断为空nil的实现代码
Apr 24 Golang
golang正则之命名分组方式
Apr 25 Golang
go 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
Go语言中break label与goto label的区别
Apr 28 Golang
golang switch语句的灵活写法介绍
May 06 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go语言基础知识点介绍
Jul 04 Golang
Go中的条件语句Switch示例详解
Aug 23 Golang
golang为什么要统一错误处理
Apr 03 Golang
Golang 切片(Slice)实现增删改查
Apr 22 Golang
Python测试框架pytest核心库pluggy详解
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编写的导航条程序
2006/10/09 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
子页向父页传值示例
2013/11/27 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
深入了解Python数据类型之列表
2016/06/24 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
多个应用共存的Django配置方法
2018/05/30 Python
详解python深浅拷贝区别
2019/06/24 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
python实现简单猜单词游戏
2020/12/24 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
技术比武方案
2014/05/19 职场文书
学前教育专业求职信
2014/09/02 职场文书
十八大观后感
2015/06/12 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
56句经典英文座右铭
2019/08/09 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python