Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。使用本类库要求使用的 Go 语言为 1.10 或更高版本。下面就一起来看看它是怎么使用的吧
安装(go module)
go get github.com/360EntSecGroup-Skylar/excelize/v2
写入文件
f := excelize.NewFile()// 创建一个工作表 sheetindex := f.NewSheet("Sheet_test")f.SetColWidth("Sheet_test", "A", "D", 20)f.SetRowHeight("Sheet_test", 10, 100)// 设置单元格的值f.SetCellValue("Sheet_test", "A2", "Hello world.")// Sheet1 不存在的情况下,系统默认创建f.SetCellValue("Sheet1", "B2", 100)// 设置工作簿的默认工作表f.SetActiveSheet(index)// 根据指定路径保存文件if err := f.SaveAs("Test1.xlsx"); err != nil { fmt.Println(err)}
效果如下:
读取文件
f, err := excelize.OpenFile("Test1.xlsx")if err != nil {fmt.Println("读取excel文件失败:" + err.Error())return}f.GetCellValue("Sheet1", "B2")rows, err := f.GetRows("Sheet_test")if err != nil {fmt.Println("读取Sheet_test信息失败:" + err.Error())}for _, row := range rows {fmt.Printf("%+v ", row)// for _, colCell := range row {// fmt.Print(colCell, "")// }// fmt.Println("error")}
Excelize的功能非常强大,还可以制作图表、柱状图、折线图等。给大家一个中文地址:https://xuri.me/excelize/zh-hans/