内容已经转出,请移步以下网址:

https://viadean.notion.site

使用 Go API 快速下载 excel 文件

 二维码 42
文章附图

我们有几个 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 的形式流式传输到此服务器。


完成。


阅读完整文档



文章分类: 编程碎语GoExcelAPI