-
v2.3.1 Stable
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
其他
- 单元测试更新,文档错别字修复
- 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
- 技术交流群
Downloads
-
v2.3.0 Stable
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:
SetSheetFormatPr
和GetSheetFormatPr
,支持设置工作表格式属性,相关 issue #635 - 新增 API:
GetCols
和Cols
列迭代器 AddChart
添加图表 API 支持指定 Y 轴对数刻度,相关 issue #661AddPicture
添加图片 API 支持插入图片自适应单元格- 增加对行、列和工作簿名称的长度上限的检查
- 公式计算引擎支持自定义名称,相关 issue #665
- API
CalcCellValue
更新:新增 12 项函数,COUNTA
,ISBLANK
,ISERR
,ISERROR
,ISEVEN
,ISNA
,ISNONTEXT
,ISODD
,ISNUMBER
,MEDIAN
,NA
和SUMIF
兼容性提升
- 兼容不同大小写的文档内部组件路径
- 字符型单元格的值存储于共享字符表中,降低生成文档体积
- 支持工作表中无
r
属性的row
标签,以修复部分情况下读取工作表内容为空的问题 - 支持多命名空间的 XML 标签,以兼容金山 WPS 等电子表格应用程序,解决 issue #651
- 自动筛选器兼容 Office 2007 - 2010 版本的电子表格应用程序,解决 issue #637
问题修复
- 修复因工作簿内产生了重复的筛选数据库而导致的文档损坏问题
- 避免添加样式时生成重复的样式定义
- 修复设置富文本中包含的特殊字符丢失问题
- 修复使用 Office 应用程序打开添加批注的文档,保存后再次打开批注形状不为矩形的问题,解决 #672
- 避免部分情况下开启编译内联优化参数时潜在的运行时 panic 问题,解决 issue #677 和 #679
- 修正获取百分比单元格值的数值精度问题
其他
- 修复特定情况下打开无效工作表时出现的异常 panic 问题
- 完善单元测试中的错误处理
- 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
- 技术交流群
Downloads
-
v2.2.0 Stable
released this
2020-05-11 00:06:44 +08:00 | 701 commits to master since this release我们很高兴地宣布发布 2.2.0 版本,该版本包含了多项新功能和错误修复。
有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log。
版本说明
此版本中最显著的变化包括:
新增功能
- 下列 API 的参数将使用工作表索引代替工作表 ID:
GetSheetName
、GetSheetIndex
、GetActiveSheetIndex
和SetActiveSheet
, 相关 #485 - 新增
GetSheetList
API,获取与工作簿内顺序保持一致的工作表列表 - 新增
AddChartSheet
API,支持创建图表工作表,相关 issue #451 - 新增
UnsetConditionalFormat
API,支持从工作表中删除条件格式,相关 issue #571 - 新增
DeleteDataValidation
API,支持从工作表中删数据验证设置,相关 issue #348 - 新增
SetCellRichText
API,支持设置单元格换行与富文本样式,相关 issue #172 - 新增函数
InsertPageBreak
和RemovePageBreak
,支持从工作表中插入或删除换页符,相关 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)打开生成的文档进行重新计算公式
- 完善单元测试中的错误处理
- 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
- 技术交流群
Downloads
- 下列 API 的参数将使用工作表索引代替工作表 ID:
-
v2.1.0 Stable
released this
2020-02-10 00:00:37 +08:00 | 744 commits to master since this release我们很高兴地宣布发布 2.1.0 版本,该版本包含了多项新功能和错误修复。
有关更改的摘要,请参阅 版本说明。完整的更改列表可查看 change log。
版本说明
此版本中最显著的变化包括:
新增功能
- 新增
DeleteDefinedName
方法,支持从工作簿或工作表中删除名称 - 新增
SetPageMargins
和GetPageMargins
方法,支持获取和设置页面边距 - 新增
DeleteChart
和DeletePicture
方法,支持从工作表中删除图表和图片 - 增加对非 UTF-8 编码 Excel 文档的支持
- 函数
AddChart
现已支持创建子母饼图、复合条饼图和组合图 - 函数
AddChart
新增设置图表主要网格线支持,相关 issue #501 - 函数
AddChart
支持设置折线图线条宽度,相关 issue #505 - 函数
AddChart
现已支持指定图表坐标轴标签间隔单位,相关 issue #538 - 函数
SetColVisible
支持对指定范围内的多列进行可见行设置 - 函数
AddPivotTable
支持创建数据透视表时,所引用数据源区域存在空列,相关 issue #511
问题修复
- 修复单元格值的末尾空白字符丢失问题
- 函数
MergeCell
支持重叠合并单元格处理,解决 issue #533 - 修复某些情况下空内联富文本丢失的问题,解决 issue #529
- 修复对空工作簿视图的处理,解决 issue #426
- 增加对公式中存在的转义字符处理,解决 issue #546
性能表现
- 新增
NewStreamWriter
和Flush
方法,适用于生成包含大规模数据的工作表。与非流式写入相比,可降低 90.2% 的内存开销、节省 53% 时间 - 函数
GetRows
内存采用流式数据读取,读取电子表格文档内存开销降低 87.9%,相关 issue #146 和 issue #382 - 兼容性提升,新增 49 个文档内部 XML 命名空间支持
其他
- 对于解析 XML 过程出现的异常将使用日志记录,相关 issue #539
- 提高单元测试覆盖度(行覆盖度:97.04%)
- 完善单元测试中的错误处理
- 包含简体中文、英语、法语、俄语、日语和韩语的多国语言文档网站更新
- 技术交流群
Downloads
- 新增
-
v2.0.2 Stable
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。
新增功能
- 支持创建数据透视表。新增
AddPivotTable()
函数 - 支持创建迷你图 (Sparkine)。 新增
AddSparkline()
函数 - 新增
GroupSheets()
和UngroupSheets()
方法,支持设置工作表分组和取消工作表分组 - 新增
AddVBAProject()
方法,支持向 Excel 文档中嵌入包含函数和宏的 VBA 工程 - 函数
SetPageLayout()
增加适应页面宽高属性支持,相关 issue #432 - 函数
SetSheetViewOptions()
现在支持 “值为零的单元格是否显示零值” 属性的设置 - 函数
SetCellFormula()
增加了对公式类型和引用属性的设置支持 - 增加带有删除线字体样式的创建支持,相关 issue #482
问题修复
- 修复部分情况下读取批注内容文本不完整的问题,解决 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 #466 和 issue #480
- 修复部分情况下调用
SetSheetPrOptions()
所致的文档损坏问题,解决 issue #483
性能表现
- 性能优化,减少读取文档时的内存开销和耗时,相关 issue #439
其他
- 完善
SetSheetRow()
函数中的异常处理 - 代码精简优化, 合并了下列内部函数:
将函数workBookRelsWriter
,drawingRelsWriter
合并为relsWriter
将函数drawingRelsReader
,workbookRelsReader
,workSheetRelsReader
合并为relsReader
将函数addDrawingRelationships
,addSheetRelationships
合并为addRels
Downloads
- 支持创建数据透视表。新增
-
v2.0.1 Stable
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 Stable
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 列工作表所执行时间和内存使用情况:
其他
- 文档内容更新与修正
- 完善单元测试,增加 go1.12 版本下的单元测试
Downloads
- 新增
-
v1.4.1 Stable
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 Stable
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()
新增功能
- 新增函数
GetComments()
支持获取指定工作表中全部批注内容的哈希表 - 新增函数
RGBToHSL()
和HSLToRGB()
支持 RGBA 和 HSL 之间的色值转换 - 新增函数
NewDataValidation()
与系列函数DataValidation.SetDropList()
、DataValidation.SetError()
、DataValidation.SetInput()
、DataValidation.SetRange()
、DataValidation.SetSqref()
和DataValidation.SetSqrefDropList()
支持设置数据验证 - 新增函数
AddPictureFromBytes()
支持从字节数组添加图片到工作表,相关 issue #259 - 函数
GetCellFormula()
现已支持获取单元格共享公式,相关 issue #227 - 新增日期解析扩展支持
- 双色标记与三色标记的条件格式支持设置最小值、中间值和最大值
问题修复
- 更新默认插入批注样式,修复插入多个批注时批注框位置堆叠的问题
- 修复部分情况下通过
NewSheet()
创建工作表导致的问题,相关 issue #249
性能优化
- 读写速度提升 20%,设置单元格内存使用减少 14%。更多性能数据请参考 Performance Figures
- 使用第三方依赖包 github.com/mohae/deepcopy 进行工作表深度拷贝代替基于 encoding/gob 序列化和反序列化实现的内部
deepcopy
Downloads
- 下列函数增加了错误返回值:
-
v1.3.0 Stable
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()
支持设置工作表行、列分组 - 新增行迭代器系列函数
Rows
、Columns()
、Next()
和Error()
- 设置单元格的值函数
SetCellValue()
现已支持bool
和time.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
- 修改函数