Excelize是用Pure Go编写的库,提供了一组功能,可让您从XLAM / XLSM / XLSX / XLSX / XLTM / XLTX文件中写入和阅读。支持Microsoft Excel¢2007及以后生成的阅读和写作电子表格文档。通过高兼容性支持复杂的组件,并提供了用于从事大量数据的工作表的流媒体API。
github:github.com/xuri/excelize
我们很高兴宣布版本2.7.0的发行版。特色是一些新的功能领域和许多错误修复。
在Release Notes中提供了更改的摘要。 changelog中提供了完整的更改列表。
发行说明
此版本中最显着的更改是:
打破变化
- 升级要求GO语言版本为1.16或更高版本,用于折旧包的迁移
ioutil
- 检查和返回错误的表格名称而不是修剪无效的字符
-
GetCellStyle
功能不再返回合并单元格范围的主单元样式 - 重命名5导出的数据类型和错误常数:
- 将
PivotTableOption
重命名为PivotTableOptions
- 将
FormatHeaderFooter
重命名为HeaderFooterOptions
- 将
FormatSheetProtection
重命名为ChartSeries
- 将
SparklineOption
重命名为SparklineOptions
- 将
ErrExistsWorksheet
重命名为PageLayoutOptions
1
- 将
- 删除54种导出类型,从官方文档网站上的发布页面获取更多详细信息
- 更改21功能签名,从官方文档网站上的发布页面中获取更多详细信息
SetPageLayout
GetPageLayout
SetPageMargins
GetPageMargins
GetSheetIndex
SetSheetName
GetSheetVisible
DeleteSheet
NewSheet
NewConditionalStyle
NewStyle
AddChart
AddChartSheet
AddShape
AddPicture
AddPictureFromBytes
-
AddTable
和流模式AddTable
函数 AutoFilter
SetPanes
SetConditionalFormat
- 将新功能引入而不是现有功能:
- 使用
SetSheetProps
代替SetSheetPrOptions
和SetSheetFormatPr
- 使用
GetSheetProps
代替GetSheetPrOptions
和GetSheetFormatPr
- 使用
SetSheetView
代替SetSheetViewOptions
- 使用
GetSheetView
代替GetSheetViewOptions
- 使用
SetWorkbookProps
代替SetWorkbookPrOptions
- 使用
GetWorkbookProps
代替GetWorkbookPrOptions
- 使用
InsertRows
代替InsertRow
来支持一次插入多行 - 使用
InsertCols
代替InsertCol
来支持一次插入多列
- 使用
- 添加
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
和emoveCellTypeString
inCellType
枚举 - 该参数已更改为
AddComment
函数,支持在注释中创建Rich-Text,相关问题#1204 - 删除内部错误日志打印,当XML deerialize错误时,将返回错误,添加
GetComments
的错误返回值,GetDefaultFont
和SetDefaultFont
函数
值得注意的功能
- 添加新功能
GetDataValidations
和GetConditionalFormats
获取数据验证和条件格式,相关问题#827 - 添加新功能
ProtectWorkbook
和UnprotectWorkbook
用于工作簿保护支持 - 为设置工作表列单元格添加新功能
SetSheetCol
,相关问题#1247 - 为设置列样式添加新功能
GetColStyle
,相关问题#1293 - 通过给定的图像数据,相关问题#1405 添加新功能
- 添加新的导出变量
IndexedColorMapping
- Add 20 export types:
AutoFilterListOptions
,AutoFilterOptions
,Chart
,ChartAxis
,ChartDimension
,ChartLegend
,ChartLine
,ChartMarker
,ChartPlotArea
,ChartSeries
,ChartTitle
,ConditionalFormatOptions
,PaneOptions
,Panes
,GraphicOptions
,Shape
,ShapeColor
,ShapeLine
,ShapeParagraph
andTableOptions
- 新支持2公式函数:聚合和小计
-
Save
,Write
和WriteTo
功能现在接受保存选项,相关问题#744 -
AddChart
函数支持指定线图平滑行,相关问题#1290 -
AddChart
功能支持集合图中的自定义行颜色,相关问题#1345 -
AddChart
功能支持自定义图表轴风格,相关问题#320 -
AddChart
函数支持创建3D线图 - 功能
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
和GetColStyle
现在支持并发安全 - 当设置不存在样式ID时,将返回错误,相关问题#1323
- 当设置流行不到上升行数时,将返回错误,以避免潜在错误,相关问题#1139
- 流动作者将在每个单元格中应用
RowOpts
中的样式,相关问题#1354 - 流动作者支持设置窗格,相关问题#1047
- 流动作者支持设置内联文本单元格
- 流编写者支持插入页面断开的支持
- 新的7个导出错误:
ErrUnprotectWorkbook
,ErrUnprotectWorkbookPassword
,ErrStreamSetPanes
,ErrSheetNameBlank
,ErrSheetNameInvalid
,ErrSheetNameLength
和ErrSheetNameSingleQuote
已添加 - 介绍5种新的导出数据类型:
HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
和ViewOptions
- 支持将摘要列设置为在大纲中显示在详细信息的右侧
- 支持设置和获得主题和色调的字体颜色,相关问题#1369
- 支持获取单元格值,其中包含ISO 8601格式中的日期
- 支持集并获得索引颜色的字体颜色
- 插入或删除列时支持更新列样式
- 工作簿
Close
功能现在支持清理流式临时文件 -
AddPicture
功能现在允许插入SVG格式图像
SetSheetBackgroundFromBytes
,以设置背景图片。
提高兼容性
- 流编写者写入字符串单元格值的内联字符串类型,相关问题#1377
- 保存电子表格以减小文件大小时跳过空行,相关问题#1383
Bug修复
- 修复数字格式的修复数字格式,带有建筑数字格式,解决问题#1328,#1368和#1373
- 修复程序应用AM/PM数字格式问题在某些情况下,解决问题#1338
- 在删除由切片范围范围内引起的评论时修复恐慌,解决问题#1343
- 在某种情况下,在获得单元格值时修复恐慌,解决问题#1384和#1415
- 修复默认编号格式用长数字字符串,解决问题#1360
- 修复用空名称创建表的修复会导致损坏的文件,解决问题#1361
- 修复插入图像后的修复图像内容是空的
- 修复在某些情况下插入列/行后生成工作簿损坏
- 删除计算链中的共享公式在编写公式单元时,以修复某些情况下生成的工作簿损坏
- 将表名称归一化以修复2.6.0&2.6.1之间的行为回归,解决问题#1365
- 修复了
OR
函数的公式计算结果问题 - 修复错误在包含一个单元格的单元格范围的工作表上插入列或行
- 修复错误,以获取包含一个单元格的单元格范围的工作表上的合并单元格的范围
- 修复在某些情况下获得不完整的文本单元格不完整的文本值
- 逃脱XML字符for流动作者要避免使用损坏的文件,解决问题#1391
- 修复公式函数地址的结果错误带有空工作表名称,解决问题#1396
- 修复插入图片问题在某些情况下,解决问题#1404
表现
- 提高流动作家合并细胞的性能,时间成本降低了90%,最多减少了86%的记忆使用
- 提高流动作者
SetRow
功能的性能,减少记忆使用情况并加速约19%
各种各样的
- 依赖项模块已更新
- 单位测试和Godoc更新
- 使用变量和函数中的专用名称
- Documentation website具有多语言:阿拉伯语,德语,西班牙语,英语,法语,俄语,中文,日语和韩语,已更新
谢谢
感谢所有杰出的贡献者。以下是此版本中具有代码贡献的贡献者的列表:
- CDENICOLA(Cooper de Nicola)
- chenliu1993
- Davidborry
- patsak(kostya privezentsev)
- dafengge0913
- beb0p(Artem Tarasenko)
- invzhi
- zhangzitao (Zitao)
- Jtwatson(Joseph Watson)
- carbin-gun (charles.deng)
- Harrison3000(Harrison)
- strivek (GaoFei)
- gonghaibinx
- Martinmr(Martin Martinez Rivera)
- Zclark(Zach Clark)
- 3月715日(3月)
- renxiaotu
- 开发
- jianxinhou
- nessstord
- bayzet(bayzet tlyupov)
- guoweikuang (éä¼å¡)
- qinyuguang (Gin)
- Liron-L(Liro Levin)