Golang Excel操作库
最近在做一个需要处理Excel数据的项目,听说Golang有几个不错的Excel操作库。想请教大家:
- 目前主流的Golang Excel库有哪些推荐?
- 哪个库的性能最好,适合处理大文件?
- 有没有支持读写.xlsx和.xls格式的库?
- 这些库对中文支持如何,会不会出现乱码?
- 在使用过程中需要注意哪些常见问题?
2 回复
推荐使用Go语言的Excel操作库:
- Excelize:功能强大,支持读写、样式、图表等,是目前最流行的选择。
- tealeg/xlsx:轻量级,适合基础读写操作。
- qax-os/excelize(Excelize的早期分支):部分场景可用。
建议优先选择 Excelize,社区活跃,文档完善。
更多关于Golang Excel操作库的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在Golang中,推荐使用 Excelize 库进行Excel文件操作。它功能强大,支持读写、创建、修改Excel文件(.xlsx格式),兼容性强,且性能优秀。
主要功能:
- 读取和写入单元格数据
- 创建、删除工作表
- 合并单元格、设置样式
- 插入图表、图片
- 公式计算
安装:
go get github.com/xuri/excelize/v2
示例代码:
- 创建Excel文件并写入数据:
package main
import "github.com/xuri/excelize/v2"
func main() {
f := excelize.NewFile()
defer f.Close()
// 创建工作表
index := f.NewSheet("Sheet1")
// 设置单元格值
f.SetCellValue("Sheet1", "A1", "Hello")
f.SetCellValue("Sheet1", "B1", "World")
// 设置活动工作表
f.SetActiveSheet(index)
// 保存文件
if err := f.SaveAs("test.xlsx"); err != nil {
panic(err)
}
}
- 读取Excel文件:
package main
import "github.com/xuri/excelize/v2"
func main() {
f, err := excelize.OpenFile("test.xlsx")
if err != nil {
panic(err)
}
defer f.Close()
// 读取单元格值
value, err := f.GetCellValue("Sheet1", "A1")
if err != nil {
panic(err)
}
println(value) // 输出: Hello
}
其他常用操作:
- 合并单元格:
f.MergeCell("Sheet1", "A1", "C1") - 设置样式:使用
NewStyle()和SetCellStyle() - 插入图片:
f.AddPicture()
Excelize 文档详细,适合处理复杂Excel需求。访问 GitHub仓库 获取更多示例和API说明。

