• v2.3.1 89465f41b5

    v2.3.1 Stable

    p30928647 released this 2020-09-22 23:09:34 +08:00 | 644 commits to master since this release

    我们很高兴地宣布发布 2.3.1 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    新增功能

    • 支持打开带有基于 ECMA-376 文档加密标准密码保护的电子表格文档,相关 issue #199
    • 增加工作表规范与限制
    • 扩展数据透视表功能:支持设置数据透视表的标题、样式和透视表选项
    • 安全漏洞修复

    兼容性提升

    • 提升 Go 1.15 版本下的兼容性,修复 Windows 操作系统下单元测试失败的问题并修复潜在的竞态条件问题
    • 提升设置默认行高的电子表格文档与 Apache OpenOffice 和 Kingsoft WPS™ 应用程序的兼容性

    问题修复

    • 修复 RemoveRow 特定情况下由于下标溢出导致的 panic,相关 issue #686
    • 修复特定情况下通过流式 API 生成的文档可能损坏的问题
    • 修复添加图片设置缩放失效的问题,相关 issue #691

    其他

    • 单元测试更新,文档错别字修复
    • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
    • 技术交流群

    DingTalk Group ID: 30047129
    QQ Group ID: 207895940

    Excel 技术交流群
    Downloads
  • v2.3.0 843bd24e56

    v2.3.0 Stable

    p30928647 released this 2020-08-06 13:58:40 +08:00 | 660 commits to master since this release

    我们很高兴地宣布发布 2.3.0 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    新增功能

    • 支持并发设置单元格的值,相关 issue #670
    • 新增 API: SetSheetFormatPrGetSheetFormatPr,支持设置工作表格式属性,相关 issue #635
    • 新增 API: GetColsCols 列迭代器
    • AddChart 添加图表 API 支持指定 Y 轴对数刻度,相关 issue #661
    • AddPicture 添加图片 API 支持插入图片自适应单元格
    • 增加对行、列和工作簿名称的长度上限的检查
    • 公式计算引擎支持自定义名称,相关 issue #665
    • API CalcCellValue 更新:新增 12 项函数, COUNTA, ISBLANK, ISERR, ISERROR, ISEVEN, ISNA, ISNONTEXT, ISODD, ISNUMBER, MEDIAN, NASUMIF

    兼容性提升

    • 兼容不同大小写的文档内部组件路径
    • 字符型单元格的值存储于共享字符表中,降低生成文档体积
    • 支持工作表中无 r 属性的 row 标签,以修复部分情况下读取工作表内容为空的问题
    • 支持多命名空间的 XML 标签,以兼容金山 WPS 等电子表格应用程序,解决 issue #651
    • 自动筛选器兼容 Office 2007 - 2010 版本的电子表格应用程序,解决 issue #637

    问题修复

    • 修复因工作簿内产生了重复的筛选数据库而导致的文档损坏问题
    • 避免添加样式时生成重复的样式定义
    • 修复设置富文本中包含的特殊字符丢失问题
    • 修复使用 Office 应用程序打开添加批注的文档,保存后再次打开批注形状不为矩形的问题,解决 #672
    • 避免部分情况下开启编译内联优化参数时潜在的运行时 panic 问题,解决 issue #677#679
    • 修正获取百分比单元格值的数值精度问题

    其他

    • 修复特定情况下打开无效工作表时出现的异常 panic 问题
    • 完善单元测试中的错误处理
    • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
    • 技术交流群

    DingTalk Group ID: 30047129
    QQ Group ID: 207895940

    Excel 技术交流群
    Downloads
  • v2.2.0 0feb819d4c

    v2.2.0 Stable

    p30928647 released this 2020-05-11 00:06:44 +08:00 | 701 commits to master since this release

    我们很高兴地宣布发布 2.2.0 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    新增功能

    • 下列 API 的参数将使用工作表索引代替工作表 ID: GetSheetNameGetSheetIndexGetActiveSheetIndexSetActiveSheet, 相关 #485
    • 新增 GetSheetList API,获取与工作簿内顺序保持一致的工作表列表
    • 新增 AddChartSheet API,支持创建图表工作表,相关 issue #451
    • 新增 UnsetConditionalFormat API,支持从工作表中删除条件格式,相关 issue #571
    • 新增 DeleteDataValidation API,支持从工作表中删数据验证设置,相关 issue #348
    • 新增 SetCellRichText API,支持设置单元格换行与富文本样式,相关 issue #172
    • 新增函数 InsertPageBreakRemovePageBreak,支持从工作表中插入或删除换页符,相关 issue #492
    • 函数 AddPivotTable API 更改,支持设置数据透视表的数据标签与汇总函数,相关 issue #582
    • 函数 AddPivotTable 支持设置数据透视表的筛选项,相关 issue #598
    • 函数 AddPivotTable 支持数据透视表中的值、行或筛选项为空
    • 导出函数 ExcelDateToTime,提供将 Excel 时间格式转换为 time.Time 数据类型
    • 导出 Style 结构体,允许通过结构体指针或 JSON 字符创建样式,相关 issue #470

    问题修复

    • 修复当使用 SetConditionalFormat 为单元格设置条件格式时,>=<= 运算符不生效的问题, 解决 issue #608
    • 修复特定情况下通过 StreamWriter 进行流式写入导致工作表损坏的问题,解决 issue #576
    • 提高公式中的特殊字符兼容性,解决 issue #578
    • 修复通过 DuplicateRowTo 进行复制行时,合并单元格未被复制的问题,解决 issue #586
    • 修复特定情况下创建条件格式后,相邻单元格边框样式丢失问题,解决 issue #200
    • 修复通过 GetComments 获取批注式部分批注数据无法获取问题,解决 issue #345
    • 修复特定情况下通过 GetCellValue 获取单元格值错误问题,解决 issue #602
    • 修复因某些情况下文档内部行内单元格缺少 r 属性而导致的 GetCellValue 错误地返回空值问题
    • 兼容单元格样式中的空值与默认值,修复部分情况下通过电子表格软件打开生成文档修改样式失效的问题,解决 issue #628

    性能提升

    • 优化内部函数 getRowHeight,降低内存占用

    其他

    • 移除工作表计算属性使部分电子表格应用程序(如:金山 WPS™ Office)打开生成的文档进行重新计算公式
    • 完善单元测试中的错误处理
    • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
    • 技术交流群

    DingTalk Group ID: 30047129
    QQ Group ID: 207895940

    Excelize 技术交流群
    Downloads
  • v2.1.0 e51aff2d95

    v2.1.0 Stable

    p30928647 released this 2020-02-10 00:00:37 +08:00 | 744 commits to master since this release

    我们很高兴地宣布发布 2.1.0 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    新增功能

    问题修复

    • 修复单元格值的末尾空白字符丢失问题
    • 函数 MergeCell 支持重叠合并单元格处理,解决 issue #533
    • 修复某些情况下空内联富文本丢失的问题,解决 issue #529
    • 修复对空工作簿视图的处理,解决 issue #426
    • 增加对公式中存在的转义字符处理,解决 issue #546

    性能表现

    • 新增 NewStreamWriterFlush 方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间
    • 函数 GetRows 内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 issue #146issue #382
    • 兼容性提升,新增 49 个文档内部 XML 命名空间支持

    其他

    • 对于解析 XML 过程出现的异常将使用日志记录,相关 issue #539
    • 提高单元测试覆盖度(行覆盖度:97.04%)
    • 完善单元测试中的错误处理
    • 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
    • 技术交流群

    DingTalk Group ID: 30047129
    QQ Group ID: 207895940

    Excelize 技术交流群
    Downloads
  • v2.0.2 a00ba75f0f

    v2.0.2 Stable

    p30928647 released this 2019-10-09 22:11:32 +08:00 | 787 commits to master since this release

    我们很高兴地宣布发布 2.0.2 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    兼容性提示

    升级至该版本需要您的 Go 语言版本高于 1.10。

    新增功能

    问题修复

    • 修复部分情况下读取批注内容文本不完整的问题,解决 issue #434
    • 修复由于内部合并单元格偏移量计算错误导致的部分情况下使用 RemoveRow() 删除行出现下标越界问题,解决 issue #437
    • 修复部分情况下数据验证下拉菜单中的公式失效问题
    • 修复在循环迭代中调用 Save() 方法保存导致的文档损坏问题,解决 issue #443
    • 提升文档内部 workbook.xml.rels 中相对路径格式解析的兼容性,解决 issue #442
    • 修复部分情况下,删除带有合并单元格的文档所导致的文件损坏问题
    • 修复部分情况下设置保护工作表属性失效的情况,解决 issue #454
    • 修复部分情况下 GetSheetName 获取工作表名称为空的问题, 解决 issue #457
    • 增加单元格内多行文本解析的支持, 相关 issue #464
    • 修复 32 位操作系统环境下数字溢出问题,相关 issue #386
    • 修复 go module 依赖版本不匹配问题, 相关 issue #466issue #480
    • 修复部分情况下调用 SetSheetPrOptions() 所致的文档损坏问题,解决 issue #483

    性能表现

    • 性能优化,减少读取文档时的内存开销和耗时,相关 issue #439

    其他

    • 完善 SetSheetRow() 函数中的异常处理
    • 代码精简优化, 合并了下列内部函数:
      将函数 workBookRelsWriter, drawingRelsWriter 合并为 relsWriter
      将函数 drawingRelsReader, workbookRelsReader, workSheetRelsReader 合并为 relsReader
      将函数 addDrawingRelationships, addSheetRelationships 合并为 addRels
    Downloads
  • v2.0.1 dc8210d4a7

    v2.0.1 Stable

    p30928647 released this 2019-07-01 07:30:51 +08:00 | 845 commits to master since this release

    我们很高兴地宣布发布 2.0.1 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    新增功能

    • 新增 SetHeaderFooter() 方法,支持设置页眉和页脚,相关 issue #394
    • 新增 SetColStyle() 方法,支持设置列样式,相关 issue #397
    • 新增 SetDefaultFont()GetDefaultFont() 方法,支持设置工作簿默认字体,相关 issue #390
    • 新增 SetDocProps()GetDocProps() 方法,支持设置和获取文档属性,相关 issue #415
    • 函数 AddChart() 新增加了 26 种图表的创建:簇状圆锥、堆积圆锥、百分比堆积圆锥、三维圆锥图、簇状水平圆锥图、堆积水平圆锥图、堆积百分比水平圆锥图、簇状棱锥图、堆积棱锥、百分比堆积棱锥、三维棱锥图、簇状水平棱锥图、堆积水平棱锥图、堆积百分比水平棱锥图、簇状柱形图 、堆积柱形图、百分比堆积柱形图、三维柱形图、簇状水平圆柱图、堆积水平圆柱图、堆积百分比水平圆柱图、三维曲面图、俯视框架曲面图、三维曲面框架图、气泡图与三维气泡图,不受支持的图表类型将返回错误提示
    • 新增 SetDefinedName()GetDefinedName() 方法,支持设置和获取名称
    • 优化并明确了打开加密文件时的错误提示信息
    • 函数 AddPicture() 现在支持添加 TIF 和 TIFF 格式的图片

    问题修复

    • 修复当数据验证公式中存在双引号时产生的问题
    • 修复内部计数错误导致的部分情况下产生重复批注问题,相关 issue #373
    • 修复部分情况下因读取内部工作表 map 错误导致读取文件失败的问题,相关 issue #404
    • 提升了处理包含数据透视表的文档兼容性,相关 issue #413
    • 提升了字号与粗体样式的兼容性,相关 issue #411#420#425
    • 优化内部重算组件以修复部分情况下在工作表中删除或插入行造成文档损坏的问题,相关 issue #421#424
    • 修复部分情况下隐藏工作表失效的问题,相关 issue #418
    • 修复内部主题颜色索引溢出导致部分情况下图表系列过多导致文档损坏的问题,相关 issue #422

    其他

    • 完善单元测试提升覆盖度,行覆盖度达到 96.05%
    • 代码优化,修复 golint 问题
    Downloads
  • v2.0.0 b1f632d408

    v2.0.0 Stable

    p30928647 released this 2019-05-02 15:59:38 +08:00 | 868 commits to master since this release

    我们很高兴地宣布发布 2.0.0 版本,该版本包含了很多新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log.

    版本说明

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

    API 更改

    下表列出了 v2.0.0 相比较于 v1.4.1 版本,API 的更改情况:

    函数名 增加 error 返回值 行号计算方法变更* 删除 新增
    ToALphaString × × ×
    TitleToNumber × × ×
    SplitCellName × × ×
    JoinCellName × × ×
    ColumnNameToNumber × × ×
    ColumnNumberToName × × ×
    CellNameToCoordinates × × ×
    CoordinatesToCellName × × ×
    DuplicateRowTo × × ×
    SetCellFloat × × ×
    SetCellStyle × × ×
    InsertCol × × ×
    RemoveCol × × ×
    RemoveRow × ×
    InsertRow × ×
    DuplicateRow × × ×
    SetRowHeight × × ×
    GetRowHeight × × ×
    GetCellValue × × ×
    GetCellFormula × × ×
    GetCellHyperLink × × ×
    SetCellHyperLink × × ×
    SetCellInt × × ×
    SetCellBool × × ×
    SetCellStr × × ×
    SetCellDefault × × ×
    GetCellStyle × × ×
    SetCellValue × × ×
    MergeCell × × ×
    SetSheetRow × × ×
    SetRowVisible × ×
    GetRowVisible × ×
    SetRowOutlineLevel × ×
    GetRowOutlineLevel × ×
    GetRows × × ×
    Columns × × ×
    SearchSheet × × ×
    GetPicture × × ×
    AutoFilter × × ×
    GetColVisible × × ×
    SetColVisible × × ×
    GetColOutlineLevel × × ×
    SetColOutlineLevel × × ×
    SetColWidth × × ×
    GetColWidth × × ×
    GetMergeCells × × ×
    ProtectSheet × × ×
    UnprotectSheet × × ×
    UpdateLinkedValue × × ×
    SetSheetVisible × × ×
    adjustHelper × × ×
    adjustMergeCells × × ×
    adjustAutoFilter × × ×
    prepareCell × × ×
    setDefaultTimeStyle × × ×
    timeToExcelTime × × ×
    addDrawingChart × × ×
    addDrawingVML × × ×
    addDrawingPicture × × ×
    getTotalRowsCols × × ×
    checkRow × × ×
    addDrawingShape × × ×
    addTable × × ×
    workSheetReader × × ×
    copySheet × × ×

    * 从版本 v2.0.0 开始,所有行操作方法都使用从 1 开始的 Excel 行编号,早期版本中某些方法中的基于 0 的行编号将不再使用,参考相关 issue #349

    新增功能

    • 新增 DuplicateRowTo() 方法, 支持根据给定的工作表名称(大小写敏感)和行号,在指定行后复制该行
    • 工作表页面布局设置函数 SetPageLayout() 新增对页面布局方向设置的支持,解决了相关 issue #318
    • 工作表页面布局设置函数 SetPageLayout() 新增对页面纸张大小设置的支持

    问题修复

    • 修复部分情况下,在样式格式中未指定单元格颜色填充时,创建了空白填充的问题
    • 修复当工作表数据验证公式超过 225 个字符时,文件打开失败的问题,解决了相关 issue #339
    • 修复部分情况下,删除带有公式的单元格会导致文件损坏的问题,解决了相关 issue #346
    • 修复通过获取批注函数 GetComment(),从包含多个工作表的工作簿获取批注时,返回了错误的工作表名称的问题,解决了相关 issue #345
    • 修复获取工作表全部单元格函数 GetRows() 返回多余的列的问题
    • 修复部分情况下删除包含公式的工作表引起文档损坏的问题

    性能提升

    • 单元格赋值系列函数、添加批注、图片、图表、超链接和形状函数的性能,均获得了大幅提升
    • 新增重复图片检查,将用添加引用代替添加重复图片,解决了相关 issue #359

    下图是 v1.4.1 和 v2.0.0 版本下创建 12800 行 50 列工作表所执行时间和内存使用情况:

    Excelize Go 语言 Excel 文档类库 v1.4.1 和 v2.0.0 性能对比

    其他

    • 文档内容更新与修正
    • 完善单元测试,增加 go1.12 版本下的单元测试
    Downloads
  • v1.4.1 dea7ba0ec4

    v1.4.1 Stable

    p30928647 released this 2019-01-01 18:18:42 +08:00 | 919 commits to master since this release

    我们很高兴地宣布发布 1.4.1 版本,该版本包含了很多新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log.

    版本说明

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

    新增功能

    • 新增 WriteTo() 方法, 该函数通过实现 io.WriterTo 接口支持文件写入
    • 新增 SearchSheet() 方法,支持通过给定工作表名称、单元格的值或者正则表达式来搜索指定工作表,相关 issue #277
    • 新增 ProtectSheet()UnprotectSheet() 方法,支持设置保护和取消保护工作表,以防止其他用户意外或故意更改,移动或删除工作表中的数据,相关 issue #273
    • 新增 GetMergeCells() 方法,支持通过给定的工作表名称获取当前工作表中全部合并单元格的坐标与值
    • 支持对页面轮廓线属性设置的支持,相关 issue #304
    • 新增 go module 支持
    • 支持设置与获取工作表的 TopLeftCell 属性,相关 issue #310
    • 图表创建函数 AddChart() 新增支持创建 二维面积图、二维堆积面积图、二维百分比堆积面积图、三维面积图、三维堆积面积图和三维百分比堆积面积图,相关 issue #311

    问题修复

    • 修复内部函数 sharedStringsReader() 因缺少传统与严格模式 XML 命名空间地址转换导致的问题,解决相关 issue #276
    • 修复图表格式设置 JSON 参数结构体 tag 定义的问题
    • 修复部分情况下获取单元格公式时出现空指针异常问题,解决了相关 issue #290
    • 通过 GetRows() 获取指定工作表中全部单元格,该函数的返回值将忽略工作表尾部空白行,解决了相关 issue #195
    • 修复部分情况下 GetSheetMap() 返回工作表索引与名称异常问题,解决了相关 issue #297
    • 修复部分情况下通过索引删除工作表出现的异常问题,解决了相关 issue #308

    其他

    • 对单元测试进行了重构,相关 issue #322
    • 使用为 excelize 设计的新 Logo, 大量的文档更新
    Downloads
  • v1.4.0 3e004d900b

    v1.4.0 Stable

    p30928647 released this 2018-09-14 00:58:48 +08:00 | 964 commits to master since this release

    我们很高兴地宣布发布 1.4.0 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    API 更改

    • 下列函数增加了错误返回值: AddChart()AddComment()AddPicture()AddShape()AddTable()SetConditionalFormat()

    新增功能

    问题修复

    • 更新默认插入批注样式,修复插入多个批注时批注框位置堆叠的问题
    • 修复部分情况下通过 NewSheet() 创建工作表导致的问题,相关 issue #249

    性能优化

    Downloads
  • v1.3.0 eb62256d16

    v1.3.0 Stable

    p30928647 released this 2018-05-11 10:14:18 +08:00 | 1008 commits to master since this release

    我们很高兴地宣布发布 1.3.0 版本,该版本包含了多项新功能和错误修复。

    有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log

    版本说明

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

    API 更改

    • 修改函数 SetRowHeight()GetRowHeight() 中行索引的一致性, 修复问题 issue #205

    新增功能

    • 新增函数 SetSheetRow() 支持批量设置单行单元格的值,相关 issue #96#194
    • 新增函数 GetColOutlineLevel()GetRowOutlineLevel()SetColOutlineLevel()SetRowOutlineLevel() 支持设置工作表行、列分组
    • 新增行迭代器系列函数 RowsColumns()Next()Error()
    • 设置单元格的值函数 SetCellValue() 现已支持 booltime.Duration 类型值
    • 添加表格函数 AddTable() 支持指定表格名称,相关 issue #216
    • 添加图片函数 AddPicture() 新增支持设置图片位置,相关 issue #214
    • 获取单元格的值函数 GetCellValue() 支持读取 inlineStr 内联类型单元格的值,相关 issue #208#209
    • 添加图表函数 AddChart() 支持自定义图表尺寸
    • 支持创建三维、三维百分比、堆积、簇状、百分比堆积条形图和柱形图,相关 issue #160#190
    • 新增支持为通过 AddPicture() 插入的图片设置超链接属性,相关 issue #185
    • 新增支持为单元格设置保护属性,相关 issue #191;
    • 图标数据系列现已支持设置逆序刻度和图表方向,并支持指定坐标轴刻度为自动、固定值以及最大值、最小值,相关 issue #202;

    问题修复

    • 修复 DeleteSheet() 删除工作表时,因内部 activeTab 属性计算错误导致的文档损坏,解决 issue #165
    • 修复部分情况下读取列数量错误的问题,相关 issue #175
    • 兼容由 1C software 等电子表格应用程序创建的,内部共享字符表路径为 xl/SharedStrings.xml 的电子表格文档,相关 issue #188
    • 修复部分情况下内部函数 checkCellInArea() 解析合并单元格坐标时下标越界问题,相关 issue #206
    • 修复部分情况下设置字体失效的问题,相关 issue #222

    性能优化

    • 提升 SetCellStyle() 设置单元格样式速度,优化内部检查行/列区域函数 checkCellInArea()
    • 内部字符串处理逻辑优化,使用 bytes 代替 string 降低 11% 内存使用,更多性能相关数据请参考 Performance Figures
    Downloads