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
用golang如何替换某个文件中的字符串
Apr 25 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
Golang实现AES对称加密的过程详解
May 20 Golang
go语言中http超时引发的事故解决
Jun 02 Golang
go goroutine 怎样进行错误处理
Jul 16 Golang
Go 中的空白标识符下划线
Mar 25 Golang
Golang 字符串的常见操作
Apr 19 Golang
Golang bufio详细讲解
Apr 21 Golang
Go语言入门exec的基本使用
May 20 Golang
Go调用Rust方法及外部函数接口前置
Jun 14 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php 将excel导入mysql
2009/11/09 PHP
php 文件上传类代码
2011/08/06 PHP
php调用c接口无错版介绍
2014/03/11 PHP
php中spl_autoload详解
2014/10/17 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python实现简单的代理服务器
2015/07/25 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python数据预处理方式 :数据降维
2020/02/24 Python
使用python实现名片管理系统
2020/06/18 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
农业开发项目建议书
2014/05/16 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
Python函数中的不定长参数相关知识总结
2021/06/24 Python
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸