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语言map与string的相互转换的实现
Apr 07 Golang
解决Golang中goroutine执行速度的问题
May 02 Golang
Golang之sync.Pool使用详解
May 06 Golang
golang switch语句的灵活写法介绍
May 06 Golang
Golang二维数组的使用方式
May 28 Golang
go语言中http超时引发的事故解决
Jun 02 Golang
golang实现浏览器导出excel文件功能
Mar 25 Golang
Golang原生rpc(rpc服务端源码解读)
Apr 07 Golang
golang定时器
Apr 14 Golang
Go语言怎么使用变长参数函数
Jul 15 Golang
Go gorilla securecookie库的安装使用详解
Aug 14 Golang
Go gorilla/sessions库安装使用
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 strtok()函数的优点分析
2010/03/02 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
pandas删除指定行详解
2019/04/04 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
用python批量下载apk
2020/12/29 Python
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
手机业务员岗位职责
2013/12/13 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
年终总结会议主持词
2014/03/17 职场文书
求职信名称怎么写
2014/05/26 职场文书
留守儿童工作方案
2014/06/02 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
孙振耀退休感言
2015/08/01 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书