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中ResponseWriter的一个坑
Apr 27 Golang
使用Golang的channel交叉打印两个数组的操作
Apr 29 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
Go 语言中 20 个占位符的整理
Oct 16 Golang
golang中的struct操作
Nov 11 Golang
如何利用golang运用mysql数据库
Mar 13 Golang
Golang流模式之grpc的四种数据流
Apr 13 Golang
Go语言grpc和protobuf
Apr 13 Golang
Golang日志包的使用
Apr 20 Golang
Golang map映射的用法
Apr 22 Golang
深入理解 Golang 的字符串
May 04 Golang
Go微服务项目配置文件的定义和读取示例详解
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 excel类 phpExcel使用方法介绍
2010/08/21 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
js实现时间日期校验
2020/05/26 Javascript
python实现简单温度转换的方法
2015/03/13 Python
python 生成器协程运算实例
2017/09/04 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
几个人围成一圈的问题
2013/09/26 面试题
简述安装Slackware Linux系统的过程
2012/01/12 面试题
员工拾金不昧表扬信
2014/01/09 职场文书
学生会主席演讲稿
2014/04/25 职场文书
2014年工程部工作总结
2014/11/25 职场文书
小学老师对学生的评语
2014/12/29 职场文书
同事欢送会致辞
2015/07/31 职场文书
早恋主题班会
2015/08/14 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
python实现语音常用度量方法的代码详解
2021/05/25 Python
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js