Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片 (表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。入选 2020 Gopher China - Go 领域明星开源项目 (GSP)、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project),目前已成为 Go 语言最受欢迎的 Excel 文档基础库。
GitHub: github.com/xuri/excelize
中文文档: xuri.me/excelize/zh-hans
2023年1月9日,社区正式发布了 2.7.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要。
此版本中最显著的变化包括:
ioutil
GetCellStyle
函数不再返回合并单元格区域左上角单元格的样式OrientationPortrait
和 OrientationLandscape
CellType
枚举值中添加 CellTypeFormula
, CellTypeInlineString
, CellTypeSharedString
并移除了 CellTypeString
AddComment
函数的签名进行了更改,支持创建富文本批注,相关 issue #1204GetComments
, GetDefaultFont
和 SetDefaultFont
增加了 error 类型的错误返回值GetDataValidations
和 GetConditionalFormats
函数以支持获取数据验证设置和条件格式,相关 issue #827ProtectWorkbook
和 UnprotectWorkbook
以提供工作簿保护设置支持SetSheetCol
函数以支持按列设置单元格的值,相关 issue #1247GetColStyle
函数以支持设置列样式,相关 issue #1293SetSheetBackgroundFromBytes
函数以支持根据给定的图片数据设置工作表背景图片,相关 issue #1405IndexedColorMapping
以支持内建索引颜色转换AutoFilterListOptions
, AutoFilterOptions
, Chart
, ChartAxis
, ChartDimension
, ChartLegend
, ChartLine
, ChartMarker
, ChartPlotArea
, ChartSeries
, ChartTitle
, ConditionalFormatOptions
, PaneOptions
, Panes
, GraphicOptions
, Shape
, ShapeColor
, ShapeLine
, ShapeParagraph
和 TableOptions
Save
、Write
和 WriteTo
函数支持指定保存选项,相关 issue #744AddChart
函数添加图表时,支持为折线图设置是否使用平滑折线,相关 issue #1290AddChart
函数添加图表时,支持设置自定义折线图线条颜色,相关 issue #1345AddChart
函数添加图表时,支持设置自定义坐标轴字体样式,相关 issue #320AddChart
支持创建三维折线图SetColWidth
、GetColWidth
、SetColVisible
、GetColVisible
、SetColStyle
和 GetColStyle
RowOpts
为单元格设置样式,相关 issue #1354ErrUnprotectWorkbook
、ErrUnprotectWorkbookPassword
、ErrStreamSetPanes
、ErrSheetNameBlank
、ErrSheetNameInvalid
、ErrSheetNameLength
和 ErrSheetNameSingleQuote
,以便开发者可根据不同的错误类型进行采取相应处理HeaderFooterOptions
、PageLayoutMarginsOptions
、PageLayoutOptions
、SheetPropsOptions
和 ViewOptions
AddPicture
添加图片时,现已允许插入 SVG 格式图片OR
计算结果有误的问题SetRow
函数的性能,相较于上一版本,耗时最高降低约 19%