使用 golang 操作 excel 文件可通过 excelize/v2 库实现,1. 创建或打开文件:f := excelize.newfile() 或 f, err := excelize.openfile("example.xlsx");2. 写入数据:用 setcellvalue 方法指定 sheet 名、单元格和值,如 f.setcellvalue("sheet1", "a1", "姓名");3. 读取数据:通过 getcellvalue 获取单个值,或结合 rows 遍历整行数据;4. 设置样式:调用 newstyle 定义样式并用 setcellstyle 应用;5. 调整格式:如 setcolwidth 设置列宽。操作完成后需调用 saveas 或 writeto 保存文件。
用 Golang 操作 Excel 文件其实挺方便的,尤其借助像
excelize/v2
下面我会从几个常用的场景出发,讲讲怎么用 excelize 来处理 Excel 文件。
使用
excelize
立即学习“go语言免费学习笔记(深入)”;
f := excelize.NewFile()
OpenFile
f, err := excelize.OpenFile("example.xlsx") if err != nil { log.Fatal(err) }
不管是新建还是打开,后续的操作都围绕这个
f *excelize.File
注意:如果要保存文件,记得调用
f.SaveAs("output.xlsx")
f.WriteTo()
写入数据主要用的是
SetCellValue
比如:
f.SetCellValue("Sheet1", "A1", "姓名") f.SetCellValue("Sheet1", "B1", "年龄")
你也可以批量写入,比如遍历一个结构体数组,把每条记录写入对应行。
一个小技巧是:可以用
fmt.Sprintf("A%d", row)
常见问题:
读取也是通过
GetCellValue
val, _ := f.GetCellValue("Sheet1", "A1") fmt.Println(val)
如果是读取整列或整行,建议结合
Rows
Cols
比如读取某一行的所有值:
rows, _ := f.Rows("Sheet1") for rows.Next() { rowCells, _ := rows.Columns() fmt.Println(rowCells) }
这种方式适合处理结构化数据,比如导入用户信息、订单列表等。
除了内容,样式也很重要。你可以设置字体、背景颜色、边框、对齐方式等等。
以设置字体为例:
style, _ := f.NewStyle(&excelize.Style{ Font: &excelize.Font{ Bold: true, Italic: true, Color: "#FF0000", }, }) f.SetCellStyle("Sheet1", "A1", "A1", style)
还可以设置自动列宽:
f.SetColWidth("Sheet1", "A", "C", 20)
这些操作虽然稍微复杂点,但能让导出的表格更美观、专业。
基本上就这些。用 excelize 做 Excel 操作不难,关键是熟悉常用方法和参数。刚开始可能会遇到一些类型转换或格式问题,多查文档、看例子很快就能上手。
以上就是怎样用Golang操作Excel文件 使用excelize库读写电子表格的详细内容,更多请关注php中文网其它相关文章!
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号