Excelize 2.7.0 发布, 2023 年首个更新

github.com/xuri/excelize

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

Gitee: gitee.com/xurime/excelize

中文文档: xuri.me/excelize/zh-hans

2023年1月9日,社区正式发布了 2.7.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog

版本说明

此版本中最显著的变化包括:

兼容性提示

  • 升级至该版本需要您使用的 Go 语言为 1.16 或更高版本,以迁移不再支持的标准库 ioutil
  • 当给定工作表名称中存在无效字符时将返回错误,不再自动忽略无效字符
  • GetCellStyle 函数不再返回合并单元格区域左上角单元格的样式
  • 重命名以下 5 个导出数据类型和错误常量,具体更改详见官方文档中的更新说明
  • 移除了 54 项导出类型,具体更改详见官方文档中的更新说明
  • 移除了 2 个导出常量:OrientationPortraitOrientationLandscape
  • 修改了以下 21 个函数的签名,使用结构体引用代替此前以 JSON 格式表示的选项参数,具体更改详见官方文档中的更新说明
  • 引入了 8 项新的函数代替现有函数,具体更改详见官方文档中的更新说明
  • CellType 枚举值中添加 CellTypeFormula, CellTypeInlineString, CellTypeSharedString 并移除了 CellTypeString
  • 对添加批注 AddComment 函数的签名进行了更改,支持创建富文本批注,相关 issue #1204
  • 当 XML 反序列化异常时将返回错误以代替输出日志,函数 GetComments, GetDefaultFontSetDefaultFont 增加了 error 类型的错误返回值

新增功能

  • 新增 GetDataValidationsGetConditionalFormats 函数以支持获取数据验证设置和条件格式,相关 issue #827
  • 新增 ProtectWorkbookUnprotectWorkbook 以提供工作簿保护设置支持
  • 新增 SetSheetCol 函数以支持按列设置单元格的值,相关 issue #1247
  • 新增 GetColStyle 函数以支持设置列样式,相关 issue #1293
  • 新增 SetSheetBackgroundFromBytes 函数以支持根据给定的图片数据设置工作表背景图片,相关 issue #1405
  • 新增导出变量 IndexedColorMapping 以支持内建索引颜色转换
  • 新增 20 项导出类型: AutoFilterListOptions, AutoFilterOptions, Chart, ChartAxis, ChartDimension, ChartLegend, ChartLine, ChartMarker, ChartPlotArea, ChartSeries, ChartTitle, ConditionalFormatOptions, PaneOptions, Panes, GraphicOptions, Shape, ShapeColor, ShapeLine, ShapeParagraphTableOptions
  • 新增 2 项公式函数: AGGREGATE 和 SUBTOTAL
  • SaveWriteWriteTo 函数支持指定保存选项,相关 issue #744
  • 使用 AddChart 函数添加图表时,支持为折线图设置是否使用平滑折线,相关 issue #1290
  • 使用 AddChart 函数添加图表时,支持设置自定义折线图线条颜色,相关 issue #1345
  • 使用 AddChart 函数添加图表时,支持设置自定义坐标轴字体样式,相关 issue #320
  • 添加图表函数 AddChart 支持创建三维折线图
  • 以下函数新增并发安全支持:SetColWidthGetColWidthSetColVisibleGetColVisibleSetColStyleGetColStyle
  • 设置样式时,当给定的样式 ID 不存在时将返回错误,相关 issue #1323
  • 流式按行赋值时,若行号未递增将返回错误,以避免生成的工作簿损坏,相关 issue #1139
  • 按行流式写入工作表时,支持通过指定 RowOpts 为单元格设置样式,相关 issue #1354
  • 支持流式设置窗格,相关 issue #1047
  • 支持流式设置行内富文本单元格
  • 支持流式插入分页符
  • 新增 7 项导出错误信息: ErrUnprotectWorkbookErrUnprotectWorkbookPasswordErrStreamSetPanesErrSheetNameBlankErrSheetNameInvalidErrSheetNameLengthErrSheetNameSingleQuote,以便开发者可根据不同的错误类型进行采取相应处理
  • 新增 5 项导出数据类型: HeaderFooterOptionsPageLayoutMarginsOptionsPageLayoutOptionsSheetPropsOptionsViewOptions
  • 支持设置分级显示的明细数据方向
  • 支持读取和设置单元格字体的主题颜色和色调,相关 issue #1369
  • 支持读取带有符合 ISO 8061 标准的时间类型单元格的值
  • 支持设置和读取带有内建颜色索引的字体颜色
  • 工作簿关闭函数将清理由流式写入器生成的磁盘缓存文件
  • 支持添加或删除列时自动调整受影响的列样式
  • 通过 AddPicture 添加图片时,现已允许插入 SVG 格式图片

兼容性提升

  • 流式写入单元格时将以行内字符类型存储字符型单元格的值,相关 issue #1377
  • 保存工作簿时将跳过工作表中的不带有样式和属性的空白行,以减少生成文档的体积,相关 issue #1383

问题修复

  • 修复部分情况下读取带有内建数字格式样式的浮点数精度有误问题,解决 issue #1328,#1368 和 #1373
  • 修复部分情况下读取带有 AM/PM 数字格式样式的单元格有误问题,解决 issue #1338
  • 修复部分情况下删除批注时由于数组下标越界导致的 panic,解决 issue #1343
  • 修复部分情况下读取单元格的值时出现 panic 的问题,解决 issue #1384 和 #1415
  • 修复部分情况下误将文本解析为浮点型数值的问题,解决 issue #1360
  • 修复使用空字符创建工作表后生成的工作簿损坏问题,解决 issue #1361
  • 修复向工作表添加图片后,获取该图片内容为空的问题
  • 修复部分情况下插入行列后生成的工作簿损坏问题
  • 删除单元格公式时将删除公式计算链中的共享单元格引用,以修复部分情况下生成的文档损坏问题
  • 修复部分情况下未对工作表名称特殊字符及长度做正确处理的问题,解决 issue #1328
  • 修复部分情况下公式函数 OR 计算结果有误的问题
  • 修复在带有单一单元格区域引用的工作表中插入行列时,将收到异常的问题
  • 修复获取带有单一单元格区域引用合并单元格区域时,收到异常的问题
  • 修复部分情况下读取富文本单元格的值不完整问题
  • 修复流式写入时未转义 XML 字符导致的文档损坏问题,解决 issue #1391
  • 修复公式计算函数 ADDRESS 在工作表名称为空时计算结果有误的问题,解决 issue #1396
  • 修复部分情况下添加图片结果有误的问题,解决 issue #1404

性能优化

  • 提高流式合并单元格性能,相较于上一版本,耗时最高降低约 90%,内存使用最高减少约 86%
  • 优化按行流式写入工作表 SetRow 函数的性能,相较于上一版本,耗时最高降低约 19%

其他

  • Go Modules 依赖模块更新
  • 单元测试与文档更新
  • 优化内部变量与函数命名
  • 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新
全部评论
哦 擦伤了
哦 擦伤了
IP属地福建省
.........................................................99999999999.........................................................99999999999.........................................................99999999999.........................................................99999999999.........................................................99999999999.........................................................99999999999
点赞
评论
夜曲
夜曲
IP属地台湾省
妙啊
点赞
评论
。
?
点赞
评论
。
回复
???
?
点赞
评论
。
回复
!!@#¥%……&*()
???
点赞
评论
清净
清净
IP属地重庆
777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
20
点赞1
评论
Seekload11111111
Seekload11111111
IP属地浙江省
19
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
18
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
17
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
16
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
15
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
14
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
13
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
12
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
999
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
888
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
777
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
666
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
5555
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
4444
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
3333
点赞
评论
Seekload11111111
Seekload11111111
IP属地浙江省
2222
点赞
评论
xuri
《Excelize权威指南》作者
  • 积分
    58
  • 话题
    6
  • 评论
    4
  • 注册排名
    1170