使用 Go API 快速下载 excel 文件
我们有几个 Golang API 可以为 csvfiles 提供服务,但在提供以编程方式生成的 excel 文件方面没有任何帮助。
为了避免重新编写,我们可以借助此服务器开始。
main.go
这使我们能够服务于路由:/ 和 /excel-download,它们都只支持 GET 方法。
我们在端口 3000 上运行服务器。
当您运行命令 go run main.go 并导航到 127.0.0.1:3000 时,您将使用 homeHandler 路由
homehandler.go
需要注意的是,我们将此服务器设置为通过 HTML 模板专门提供 excel 文件。这很容易成为您 API 中的另一条路由。
templates/home.tmpl
此 HTML 将向用户显示一个简单的下载链接,该链接会将他们定向到我们的 serveExcel 处理程序。
serve_excel.go
所以让我们把它分解成几个部分。
首先,我们使用tealg/xlsx 包来处理excel 文件。这里没有偏好,它似乎是最容易获得工作表和设置单元格的。
这将创建一个 *xlsx.File 类型的新变量,它允许我们添加新工作表并设置单元格。
接下来,我从 0 到 10 循环并将单元格 A1 设置为值“我是一个单元格!
由于bytes.Buffer实现了io.Writer接口,我们可以将其传递给file.Write函数,所有excel数据写入缓冲区
最后,我们设置下载名称,并将数据以 application/octet-stream 的形式流式传输到此服务器。
完成。
详情参阅 - 亚图跨际
使用 Go API 快速下载 excel 文件相关推荐
- ASP程序快速生成Excel文件
ASP程序快速生成Excel文件 在一个web项目中,要求将数据生成Excel文件保存到本地,最早使用的方法是直接使用Microsoft的Office Web组件,但是总体感觉是慢(微软的通病).然后 ...
- php通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例
本文实例讲述了PHP使用ajax的post方式下载excel文件.分享给大家供大家参考,具体如下: 项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token ...
- VUE项目兼容IE11 遇见的问题 SyntaxError: strict 模式下不允许一个属性有多个定义;ie11下载excel文件需要用navigator.msSaveBlob
最近要把vue项目兼容ie11 前面引入bable等一系列操作就不说了,下面说一下具体具体的问题 1 如图所示 SyntaxError: strict 模式下不允许一个属性有多个定义, 点击sta ...
- 阿里开源(EasyExcel):使用Java将数据导出为Excel表格、带样式----》java web下载 Excel文件
目录 一.技术选型 二.实现过程 1.导入依赖 2.编写工具类 EasyExcelUtil 3.公用参数类 EasyExcelParams 4.表格样式实体类 MyWriteHandler 5.数据实 ...
- react接收后端文件_React获取Java后台文件流并下载Excel文件流程解析
记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...
- PHP使用ajax的post方式下载excel文件简单示例
本文实例讲述了PHP使用ajax的post方式下载excel文件.分享给大家供大家参考,具体如下: 项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token ...
- java文件流下载excel_React获取Java后台文件流下载Excel文件
记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...
- IE中点击链接下载EXCEL文件直接以乱码方式打开解决
我需要在页面上通过javascript控制,点击一个链接下载excel文件模板,总觉得方法都写对了,可每次点击都是新开一个窗口,显示的全是乱码.几日以来一直被这个问题困扰,今天无意中得知这个方法,试了 ...
- springboot访问下载/resource/static下的静态资源;下载excel文件损坏,打不开
放文件 直接把文件放到resource下的static文件夹中 看编译结果 启动之后看看是否被编译了 访问,下载 然后在浏览器输入下面地址就能自动下载文件了 http://localhost:8002 ...
最新文章
- Linux软件安装配置Yum源
- PMcaff写给大家的年终碎碎念 PMcaff | 记录
- Linux Kernel and Android休眠与唤醒
- IntelliJ IDEA for Mac在MacOS模式下的版本控制/本地历史记录快捷键(VCS and Local History Shortcut)
- Python笔记-uiautomator2截图点击,OpenCV找图
- popen和system问题
- Eclipse-Git
- java thread 线程_Java Thread类简述
- github上预览Demo网页最简单的方法
- 【数据压缩(十)】H264文件分析2
- Maven打包时指定配置文件
- 与你一起学习MS Project——基础篇:Project基础应用
- SAP FI 系列 007:会计科目主数据维护
- mset redis_Redis MSET 命令
- 英语单词词性顺口溜_英语单词词性分类
- 量化交易中N字型技术形态的实现,天勤,mindgo,python版同花顺,okex,huobi,binance等平台都可正常使用
- python tkinter ttk的使用(上)
- 分布式搜索引擎es原理
- ubuntu登录mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mys
- (三)JVM成神路之全面详解执行引擎子系统与JIT即时编译原理