
运营派
专注小红书、抖音、视频号等全域运营知识的学习交流平台。
用于读写 Excel (XLSX) 文件的 Go 语言库,提供丰富的 API 和文档。
Excelize 是使用 Go 语言编写、用于读写 Microsoft Excel (XLSX) 格式文件的开源基础库。它不依赖外部软件或服务,可直接在服务器端完成 Excel 文件的生成、解析与样式处理,适用于报表导出、数据交换、批量处理等场景。
| 场景 | 说明 |
|---|---|
| 报表导出 | 服务端生成格式化 Excel 报表,供用户下载 |
| 数据采集 | 解析用户上传的 Excel 文件,提取结构化数据 |
| 批量转换 | 将数据库或 JSON 数据批量转为 Excel 文件 |
| 模板填充 | 基于预设模板写入动态数据,保留原有样式 |
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// 写入数据
f.SetCellValue("Sheet1", "A1", "姓名")
f.SetCellValue("Sheet1", "B1", "分数")
f.SetCellValue("Sheet1", "A2", "张三")
f.SetCellValue("Sheet1", "B2", 92)
// 保存文件
if err := f.SaveAs("成绩表.xlsx"); err != nil {
fmt.Println(err)
}
}
通过 Go Modules 引入:
go get github.com/xuri/excelize/v2
当前主版本为 v2,API 保持稳定。官方仓库提供完整的使用文档、函数索引和常见问题解答,适合在选型阶段快速评估可行性。
Excelize 聚焦于 XLSX 格式,不支持旧版 XLS 二进制格式。对于超大文件的流式读写,官方提供 StreamWriter 和 StreamReader 接口以降低内存占用,但部分高级功能(如图表与数据透视表)在流式模式下可能受限。选型前建议根据实际文件规模与功能需求进行验证。







