go导出mysql中的excel表_golang web 开发 从数据库 导出到excel案例
开发后台 或者 数据类网站 把 数据导出excel的需求比较常用。
这里我用gin web框架 结合 github.com/360EntSecGroup-Skylar/excelize 库 写一个简单的demo。
提供同行学习交流 自己也mark个案例。
第一步: 下载 库
go get github.com/360EntSecGroup-Skylar/excelize
go get github.com/gin-gonic/gin
第二步: 撸代码
package main
import (
"github.com/360EntSecGroup-Skylar/excelize"
"github.com/gin-gonic/gin"
)
func HanderDownload(c *gin.Context) {
xlsx := excelize.NewFile()
xlsx.SetCellValue("Sheet1", "A2", "我要下载一个excel文件")
xlsx.SetCellValue("Sheet1", "A1", "有没有看到我帅气的脸庞")
//保存文件方式
//_ = xlsx.SaveAs("./aaa.xlsx")
c.Header("Content-Type", "application/octet-stream")
c.Header("Content-Disposition", "attachment; filename="+"Workbook.xlsx")
c.Header("Content-Transfer-Encoding", "binary")
//回写到web 流媒体 形成下载
_ = xlsx.Write(c.Writer)
}
func main() {
r := gin.Default()
r.GET("/download", HanderDownload)
r.Run()
}
第三步:编译跑起来
我的ide.png
第四部:测试
用浏览器访问 http://localhost:8080/download
下载页面.png
so_easy.png
就是这样容易。把数据库的数据直接写到excel 接口 Write 回到流就可以了。
有疑问加站长微信联系(非本文作者)
go导出mysql中的excel表_golang web 开发 从数据库 导出到excel案例相关推荐
- mysql中对一个表的id建立了唯一索引,那么查询的select count(*) ,select count(1) ,select count(id),select count(列名)
1.mysql中对一个表的id建立了唯一索引,那么查询的select count(*) ,select count(1) ,select count(id),select count(列名) 的查询结 ...
- MySql中把一个表的数据插入到另一个表中的实现代码--转
MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...
- MySQL中的多表连接
MySQL中的多表连接 当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询.根据不同表中的数据之间的关系查询相关联的数据. 一.语法结构 使用一个表在多个表中查询数据: Where子句中写连 ...
- mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)
本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...
- mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...
一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...
- MySQL学习笔记(六)-MySQL中库和表的管理
MySQL学习笔记(六)-MySQL中库和表的管理 作者:就叫易易好了 日期:2020/11/23 1 2 DDL即数据定义语言 创建:create 修改:alter 删除:drop 库和表的管理: ...
- 在MySQL中实现交叉表查询2(动态交叉表)
在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...
- 在MySQL中实现交叉表查询1(静态交叉表)
在MySQL中实现交叉表查询1(静态交叉表) 一.什么是交叉表 交叉表查询是将来源于某个表中的字段进行分组,一组列在交叉表左侧,一组列在交叉表上部,并在交叉表行与列交叉处显示表中某个字段的各种计算值. ...
- mysql中如何根据表名找到库名
mysql中如何根据表名找到库名: SELECT table_schema FROM information_schema.TABLES WHERE table_name = '表名'; 添加字段: ...
- mysql中创建数据表
从今天开始学习mysql数据库,希望以后能够记录自己学习的点点滴滴 mysql中创建数据表 1.创建一个数据库为test_db mysql> create database test_db; Q ...
最新文章
- 什么是 WMI?From MSDN
- MySQL笔记10:engine=innodb和engine=myisam的区别和用法!
- dedecms 备份和恢复的完整流程
- Vuex——使用namespace的store使用mapState获取state为undefined
- Oracle中Merge into的用法实例讲解
- Boost-QT兼容问题:#define FUSION_HASH #
- HTML 按钮(button)的 disable 属性和 disable property
- java学习(31):for循环
- java实验多线程机制_使用Java多线程的同步机制编写应用程序 PDF 下载
- 十年测试之路的笔记分享
- 【leetcode 简单】第四十二题 阶乘后的零
- modelsim多模块联合仿真时,同一signal,一边有信号另一边没有的问题
- 二 IP核的行业发展
- ad模数转换采集电压程序c语言,单片机怎么通过AD转换得到电压值
- webstorm连接github上传代码
- 监控工具Zabbix之原理及部署
- Vue项目启动时卡在98% after emitting CopyPlugin
- 阿里云客服机器人人工服务配置文档
- 关于Visual Assistant X助手在定位函数及结构体成员变量不准确的问题
- JS调用本地摄像头拍照(兼容各大浏览器及IE8+)