Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376 ,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel 、WPS 、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。自 2016 年开源以来已成为云原生应用尤其是 Go 语言开发者在处理电子表格办公文档时的热门选择,正在被广泛应用于大型互联网公司、中小企业客户和初创公司。
GitHub: github.com/xuri/excelize
中文文档: xuri.me/excelize/zh-hans
2024 年 10 月 15 日,社区正式发布了 2.9.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:
ConditionalFormatOptions
中的字段 Format
修改为指针类型,解决 issue #1867DeleteSlicer
和 GetSlicers
支持删除和获取切片器,相关 issue #810MoveSheet
支持移动工作表在工作簿中的位置,相关 issue #1076GraphicOptions
中添加了新的字段 AutoFitIgnoreAspect
支持添加图片时以忽略比例的方式填充单元格ChartAxis
中添加了新的字段 TickLabelPosition
以支持设置图表坐标轴标签的位置PivotTableField
中添加了新的字段 ShowAll
、InsertBlankRow
和 NumFmt
PivotTableOptions
中添加了新的字段 ClassicLayout
、FieldPrintTitles
和 ItemPrintTitles
ChartTickLabelPositionType
和 PictureInsertType
ChartLineUnset
ExtURIDataField
、ExtURIPivotField
、ExtURIPivotFilter
和 ExtURIPivotHierarchy
ErrPivotTableClassicLayout
MergeCell
合并单元格时将清除除合并区域左上角单元格之外其他单元格的值AddDataValidation
、DeleteDataValidation
和 GetCellStyle
支持并发安全调用,相关 issues #1825 和 #1903GetDataValidations
支持获取存储于扩展列表中的数据验证规则,相关 issue #1835SetSheetName
支持大小写敏感,相关 issue #1856GetPictureCells
和 GetPictures
支持获取通过 IMAGE 公式添加的图片和内部以绝对路径形式存储的图片GraphicOptions
数据类型中新增了 AutoFitIgnoreAspect
选项,支持以忽略原始纵横比例的方式将图片尺寸填充单元格SetCellHyperLink
支持指定 linkType 为 None
以删除单元格超链接,相关 issue #1940AddChart
支持创建带有多个相同图表类型的组合图表,相关 issue #1940AddChart
支持设置散点图线型AddPivotTable
函数创建数据透视表时,若数据源引用的单元格范围内首行单元格的值为空,将返回错误,相关 issue #1945CalcCellValue
支持计算带有矩阵参数的公式函数 ISNUMBER 、OR 和 FIND ,解决 issue #1819CalcCellValue
计算结果数值舍入精度有误的问题,解决 issue #1851CalcCellValue
对带有 XIRR 和 XNPV 的公式计算结果有误问题,解决 issue #1989RemoveCol
函数返回错误的问题,解决 issue #1829r
属性的工作簿时,出现 panic 的问题AddChart
在组合图表中设置坐标轴格式失效的问题,解决 issue #1921AddChart
设置图表主坐标轴标题位置有误的问题AddChart
设置垂直次坐标轴标题无法被正常显示的问题,解决 issue #1926AddChart
设置折线图线型无效的问题GetPivotTables
返回数据透视表的数据源范围有误的问题,解决 issue #1937GetStyle
在读取不包含 sysClr
属性的工作簿时出现 panic 的问题,解决 issue #1963GetCellRichText
在读取不包含共享字符串表索引单元格时返回错误的问题,解决 issue #1999SetSheetVisible
函数读取不含视图属性的工作表时出现 panic 的问题,解决 issue #1969GetRows
的内存占用,相关 issue #1874ColumnNumberToName
的性能,最多降低内存占用 50%,耗时最多减少 50%感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:
《 Excelize 权威指南》不仅介绍了 Excelize 库的基本使用方法,还深入探索了高级特性和应用场景。全书共分五个篇章:入门指南、基础库设计概览、深入 Excelize 、高性能流式读写技术以及实践应用。通过这本书,你将学会如何利用 Go 语言和 Excelize 库,实现 Excel 文件的自动化处理、复杂数据分析以及报表生成等任务。
你将不再受限于 Excel 的传统操作方式,而是能够通过编程的方式,解锁 Excel 新境界,创造出更加智能、高效的数据处理解决方案。
1
awalkingman 39 天前 2
虽然不加群也不买书,还是点个赞👍,因为我真的用了。
|
2
luxurioust OP @awalkingman 谢谢你的支持
|
3
14 39 天前 1
👍前段时间实测 Excelize 速度非常快,已经用上了
|
4
HaroldFinchNYC 38 天前
能否用这个库做一个单独的服务,比如,导出数据为 excel ?谢谢
|
5
luxurioust OP @HaroldFinchNYC 可以的,根据需要组合使用库提供的各个函数。
|