qax-os/excelize 是 Go 语言读写 Microsoft Excel™ (xlsx) 文件的库,20k Star,BSD-3 协议。支持读写 .xlsx/.xlsm/.xltm/.xltx 格式,公式、图表、透视表、数据验证、
本资源包含什么
完整 Go 源码:来自 GitHub
qax-os/excelizemaster 分支(2026-08-14 最新),含 100+*.go文件(核心 lib.go 32 KB / cell.go 53 KB / styles.go 127 KB / sheet.go 75 KB / xmlWorksheet.go 59 KB 等)+go.mod+go.sum。核心模块:
excelize.go(库入口 22 KB)+lib.go(核心 API 32 KB)+stream.go(流式写入 26 KB)+cell.go(单元格 53 KB)+sheet.go(工作表 75 KB)+styles.go(样式 127 KB)。公式引擎:
calc.go(643 KB!公式计算引擎,Excel 400+ 函数覆盖)+calcchain.go(计算链)+numfmt.go(数字格式 378 KB)+date.go(日期)。图表 / 透视表:
chart.go(49 KB 图表)+xmlChart.go(28 KB XML 图表)+pivotTable.go(55 KB 透视表)。数据验证 / 条件格式:
datavalidation.go(19 KB)+conditional_format.go。XML 序列化器:30+ 个 xml*.go 编解码器。
其他模块:加密、绘图、切片器、迷你图、表格、形状、VML、工作簿、调整、合并、图片、列、行、文件等 13 个模块。
官方文档:
README.md(8 KB)+README_zh.md(8 KB 中文版)+LICENSE(BSD-3)。
核心能力
xlsx 全格式读写:
.xlsx/.xlsm/.xltm/.xltx全部支持。流式写入 (StreamWriter):
stream.go实现低内存大文件生成(百万行级别),适合报表导出。公式引擎:
calc.go643 KB 内置 Excel 400+ 公式函数(SUM / VLOOKUP / INDEX / MATCH / IF / DATEDIF 等)。图表 + 透视表:支持 70+ Excel 图表类型 + 透视表 + 数据透视图。
样式 + 条件格式:数字格式、字体、填充、边框、对齐、条件格式(CF rules)、迷你图、切片器。
数据验证:下拉列表、范围检查、自定义公式。
加密 / 解密:
crypt.go支持工作簿密码加密(标准加密 + Agile Encryption)。跨平台:Linux / Windows / macOS / ARM 全部支持,无 cgo 依赖。
本资源包不含什么
测试代码(已剔全部
*_test.go文件,约 80+ 个测试文件,省 2 MB+)测试 fixtures(已剔
test/目录)CI 配置(已剔
.github/)Logo / 演示图片(已剔
excelize.svg/logo.png)
资源包大小
压缩后约 0.47 MB,解压后约 2.2 MB / 61 个文件。
启动运行(Go 模块安装)
# 在你的 Go 项目里
go get github.com/xuri/excelize/v2
# 一个 hello world
cat > main.go << 'EOF'
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
defer f.Close()
f.SetCellValue("Sheet1", "A1", "Hello Excelize!")
f.SaveAs("hello.xlsx")
fmt.Println("OK")
}
EOF
go mod init hello && go mod tidy && go run main.go启动运行(流式写入百万行)
f := excelize.NewFile()
sw, _ := f.NewStreamWriter("Sheet1")
for i := 1; i < 1000000; i++ {
sw.SetRow("A"+fmt.Sprint(i),
[]interface{}{i, "name-"+fmt.Sprint(i), rand.Float64()})
}
sw.Flush()
f.SaveAs("big.xlsx")安装编译依赖
Go 1.16+(
go.mod声明,推荐 1.21+)跨平台编译:Linux/Windows/macOS/ARM
无其他第三方运行时依赖
典型使用场景
报表导出:Go 后端动态生成 Excel 报表(订单 / 财务报表 / 数据分析)。
百万行流式生成:StreamWriter + 低内存,可处理 1M+ 行数据导出。
Excel 模板填充:读取用户上传的模板,填充业务数据后输出。
Excel 解析 / 数据导入:读取用户上传的 xlsx,提取结构化数据入库。
适用人群
Go 后端工程师:需要给业务系统加 Excel 导出功能。
数据团队:定时任务生成数据报表 / 导出大文件。
替代 Python pandas + openpyxl 的 Go 团队:性能 + 内存优势明显。
做技术选型:评估 excelize vs tealeg/xlsx vs xuri/Excelize Go。
质量承诺
本资源包内源码全部来自 qax-os/excelize 官方 GitHub 仓库(BSD-3 协议),master 分支,2026-08-14 最新版本,经本地解压验证:含 100+ Go 核心文件 + 公式引擎 + 完整 XML 序列化器。用户解压后 go get github.com/xuri/excelize/v2 即可在自己项目里使用,或直接 go build 跑测试。
版权声明
本站文字内容为原创编撰或者网络搜集整理,受著作权保护,禁止未经授权批量采集转载。
本站分享的各类源码、AI大模型、程序工具仅作技术科普部署教程使用,不直接存储原版版权文件。
所有第三方资源的知识产权、开源协议、商用授权规则均归原开发团队所有。
使用者下载、部署、二次开发必须严格遵守国家著作权相关法律法规,以及资源官方许可协议,如需商业运营,务必向版权方申请合法授权。
因用户私自商用、违规分发资源造成的法律纠纷与经济损失,全部由使用者自行承担,本站不承担连带责任。