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语言使用select{}阻塞main函数介绍
Apr 25 Golang
Golang 实现超大文件读取的两种方法
Apr 27 Golang
解决Golang中ResponseWriter的一个坑
Apr 27 Golang
go 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
golang elasticsearch Client的使用详解
May 05 Golang
go xorm框架的使用
May 22 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Go归并排序算法的实现方法
Apr 06 Golang
Golang Elasticsearches 批量修改查询及发送MQ
Apr 19 Golang
Golang 实现WebSockets
Apr 24 Golang
Go语言测试库testify使用学习
Jul 23 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
PHP单链表的实现代码
2016/07/05 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
Djang中静态文件配置方法
2015/07/30 Python
windows系统下Python环境搭建教程
2017/03/28 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
实时获取Python的print输出流方法
2019/01/07 Python
Python中常用的内置方法
2019/01/28 Python
python+mysql实现教务管理系统
2019/02/20 Python
python实现简易学生信息管理系统
2020/04/05 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
后进生转化工作制度
2014/01/17 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
基于Python实现nc批量转tif格式
2022/08/14 Python