暂无图片
暂无图片
2
暂无图片
暂无图片
1
暂无图片
Excelize
标签
编辑
简介:Excelize, 开源的 Excel 电子表格办公文档操作库
简介:Excelize, 开源的 Excel 电子表格办公文档操作库
产品概览 用户评价

Excelize 是用 Go 语言编写的免费开源的跨平台 Go API,Excelize 提供 API 给 Go 语言程序对 Excel 电子表格文档进行读写操作。

开源代码

GitHub: https://github.com/xuri/excelize

基本介绍

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等办公应用创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。

版本记录

  • Version 2.7.1 (2023-04-10)
  • Version 2.7.0 (2023-01-09)
  • Version 2.6.1 (2022-08-22)
  • Version 2.6.0 (2022-04-11)
  • Version 2.5.0 (2022-01-03)
  • Version 2.4.1 (2021-08-02)
  • Version 2.4.0 (2021-04-19)
  • Version 2.3.2 (2021-01-04)
  • Version 2.3.1 (2020-09-23)
  • Version 2.3.0 (2020-08-06)
  • Version 2.2.0 (2020-05-11)
  • Version 2.1.0 (2020-02-10)
  • Version 2.0.2 (2019-10-09)
  • Version 2.0.1 (2019-07-01)
  • Version 2.0.0 (2019-05-02)
  • Version 1.4.1 (2019-01-01)
  • Version 1.4.0 (2018-08-14)
  • Version 1.3.0 (2018-05-13)
  • Version 1.2.0 (2017-12-01)
  • Version 1.1.0 (2017-08-19)

代码示例

创建工作簿

f := excelize.NewFile() defer func() { if err := f.Close(); err != nil { fmt.Println(err) } }() // 创建一个工作表 index, err := f.NewSheet("Sheet2") if err != nil { fmt.Println(err) return } // 设置单元格的值 f.SetCellValue("Sheet2", "A2", "Hello world.") f.SetCellValue("Sheet1", "B2", 100) // 设置工作簿的默认工作表 f.SetActiveSheet(index) // 根据指定路径保存文件 if err := f.SaveAs("Book1.xlsx"); err != nil { fmt.Println(err) }
复制

下面是读取 Excel 文档

f, err := excelize.OpenFile("Book1.xlsx") if err != nil { fmt.Println(err) return } defer func() { // 关闭工作簿 if err := f.Close(); err != nil { fmt.Println(err) } }() // 获取工作表中指定单元格的值 cell, err := f.GetCellValue("Sheet1", "B2") if err != nil { fmt.Println(err) return } fmt.Println(cell) // 获取 Sheet1 上所有单元格 rows, err := f.GetRows("Sheet1") if err != nil { fmt.Println(err) return } for _, row := range rows { for _, colCell := range row { fmt.Print(colCell, "\t") } fmt.Println() }
复制

向 Excel 文档中插入图片

f, err := excelize.OpenFile("Book1.xlsx") if err != nil { fmt.Println(err) return } defer func() { // 关闭工作簿 if err := f.Close(); err != nil { fmt.Println(err) } }() // 插入图片 if err := f.AddPicture("Sheet1", "A2", "image.png", nil); err != nil { fmt.Println(err) } // 在工作表中插入图片,并设置图片的缩放比例 if err := f.AddPicture("Sheet1", "D2", "image.jpg", &excelize.GraphicOptions{ScaleX: 0.5, ScaleY: 0.5}); err != nil { fmt.Println(err) } // 在工作表中插入图片,并设置图片的打印属性 enable, disable := true, false if err := f.AddPicture("Sheet1", "H2", "image.gif", &excelize.GraphicOptions{ PrintObject: &enable, LockAspectRatio: false, OffsetX: 15, OffsetY: 10, Locked: &disable, }); err != nil { fmt.Println(err) } // 保存工作簿 if err = f.Save(); err != nil { fmt.Println(err) }
复制

运行环境

支持 macOS、Linux 和 Windows 等平台 32 位和 64 位操作系统。

发展历史

2023年5月,在“2022中国互联网发展创新与投资大赛暨2022年中国开源创新大赛”中被评为一等奖

用户评价

手机用户4069
暂无图片
1年前
评论
暂无图片 1
功能很丰富的开源基础库
1年前
暂无图片 1
评论
1
2
词条统计
创建者:xuri
编辑次数:1
浏览次数:838
API调用次数:0
贡献者
2023/06/14