Excelize是一个用Pure Go编写的库,提供了一组功能,可让您从Xlam / XLSM / XLSX / XLTM / XLTX文件写入和阅读。支持Microsoft Excel¢2007及以后生成的阅读和写作电子表格文档。通过高兼容性支持复杂的组件,并提供了流媒体API,用于生成或读取大量数据的工作表的数据。
github:github.com/xuri/excelize
我们很高兴宣布版本2.7.1的发行版。特色是一些新的功能领域和许多错误修复。
Release Notes中有更改的摘要。 changelog中提供了完整的更改列表。
发行说明
此版本中最显着的更改是:
打破变化
- 删除
ChartLine
数据类型中的Color
字段 - 用
RichTextRun
替换数据类型ShapeParagraph
- 从类型
Shape
中删除Color
字段,并使用Fill
代替 - 删除导出的类型
AutoFilterListOptions
7 - 将导出的
TableOptions
重命名为Table
-
AddChart
功能需要使用ChartType
枚举值来指定图表类型 - 更改7个功能签名:
- 将
func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
更改为func (f *File) AutoFilter(sheet, rangeRef string, opts []AutoFilterOptions) error
- 将
func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
更改为func (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error
- 将
func (f *File) GetPicture(sheet, cell string) (string, []byte, error)
更改为func (f *File) GetPictures(sheet, cell string) ([]Picture, error)
- 将
func (f *File) AddVBAProject(bin string) error
更改为func (f *File) AddVBAProject(file []byte) error
- 将
func (f *File) GetComments() (map[string][]Comment, error)
更改为func (f *File) GetComments(sheet string) ([]Comment, error)
- 将
func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
更改为func (f *File) AddTable(sheet string, table *Table) error
- 将
func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
更改为func (sw *StreamWriter) AddTable(table *Table) error
- 将
值得注意的功能
- 添加新功能
SetSheetDimension
和GetSheetDimension
用于工作簿维度支持,相关问题#1463 -
NewStyle
功能支持创建17种填充变体样式 - 增加最大细胞样式限制为65430
-
AddPicture
功能允许插入BMP格式映像 -
GetPictures
功能支持要在单元格中获取多个图像 -
SetConditionalFormat
函数支持以“ true”或“图标集”规则 创建条件格式
-
SetConditionalFormat
功能支持以设置边框颜色并为颜色数据栏创建固体颜色,相关问题#1462 -
AddChart
功能支持以设置图表数据系列实心填充的格式,相关问题#1474 -
AddChart
功能支持以设置数据系列中的气泡大小 -
AddChart
函数支持以指定饼图的第二个图中的第二个图中的值 -
AddChart
功能支持图表数据标签和轴的设置数字格式,相关问题#1499 -
AddTable
函数支持以指定当创建表 时显示表的标头行
-
AddTable
功能支持验证表名称,并添加了一个新的错误常数ErrTableNameLength
,相关问题#1468 - 创建自动过滤器时添加多个过滤列的
AutoFilter
功能支持 -
CalcCellValue
函数支持指定是否应用数字格式样式用于单元格计算结果 -
CalcCellValue
功能支持配方函数的双字节字符:左,len,lenb,中,中,中,右和右b,相关问题#1476 -
CalcCellValue
函数现在返回结果中的公式错误字符串,并在返回错误中使用错误消息,相关问题#1490 - 图像文件扩展名称,相关问题#1503 不敏感的情况不敏感
- 当获得无零值时,流动作者将跳过单元格值,相关问题#756
-
GetCellHyperLink
功能支持获得合并单元格的单元格超链接 - 添加新的导出数据类型
ChartType
代表图表类型枚举
提高兼容性
- 添加对工作簿功能组的支持
- 添加对严格主题名称空间的支持,相关问题#1447
- 不存在的工作簿关系部分引起的恐慌
- 提高与包含空白字符的SST索引的兼容性,相关问题#1508
Bug修复
- 修复十进制数字格式回合问题在某些情况下
- 修复了使用时间编号修改字符串单元格时的修复不正确的单元格类型,解决问题#1464
- 修复细胞解析器导致错误的计算结果,解决问题#1469
- 修复条件格式数据栏最小值/最大值不起作用,解决问题#1492
- 支持0行高度和列宽,解决问题#1461
表现
- 提高具有月份名称的应用数字格式的性能,相关问题#1455
- 加快检查合并的单元格,相关问题#1448
各种各样的
- 纯WebAssembly / javascript of Go excelize库,名为excelize-wasm NPM软件包已准备就绪< / li> < / li>
- 依赖项模块已更新
- 单位测试和Godoc更新
- 使用变量和函数中的专用名称
- Documentation website具有多语言:阿拉伯语,德语,西班牙语,英语,法语,俄语,中文,日语和韩语,已被更新
谢谢
感谢所有杰出的贡献者。以下是在此版本中具有代码贡献的贡献者的列表:
- Liron-L(Liro Levin)
- NATHJ07(Nathan Davies)
- Josh-Weston(Josh Weston)
- jaby
- Flogingspdg(Shugo Kawama) li>
- Barismar(Baris Mar Aziz)
- 做nobb(Åæ¶)
- rpreetrap(rizki putra) li>
- huangshaokun
- CHANTXU64 (ChantXu64)
- Playgitboy