变更日志:更新、里程碑、路线图
[{hpt:chngLogFrm}]
IronXL 路线图
IronXL 是为使开发人员能够轻松在 C# 及所有其他 .NET 语言中读取和创建 XLS、XLSX 和 CSV 文件而创建的。
IronXL正引领潮流,赋能开发人员无需Office Interop即可在C#中编辑Excel文件。
今天我们团队的重点是通过优先考虑开发者社区的反馈,进一步改进IronXL。
版本发布每月进行,新功能使IronXL成为许多开发人员的首选。
从长远来看,我们计划推出适用于多种编程语言的IronXL。 早期研发正在进行中,用于开发更多适用于Word、PowerPoint和其他Microsoft Office套件的MS Office产品。
2024年12月
IronXL 2024.12.1
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.12.1
发布说明:
- 将
IronSoftware.System.Drawing
更新到 2024.12.3。 - 将
IronSoftware.Common
更新至 2024.11.2。 - 改进了检索单元格范围的性能(中大型文件的速度快5到10倍).
- 通过缓存评估结果来改进公式评估。
- 修复了在加载某些文件时发生的空引用异常。
- 修复了从公式中检索日期值的问题。
- 添加了将
Workbook
和Worksheet
以不同格式作为流进行转换的功能。
2024年11月
IronXL 2024.11.16
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.11.16
发布说明:
- 更新
IronSoftware.System.Drawing
到 2024.9.15 - 将
IronSoftware.Common
更新至 2024.9.38 - 增加了对切换列方向为从右到左的支持。 适用于阿拉伯语、中文和希伯来语等语言
- 新增了使用
SetWorksheetTabColor
和SetWorksheetTabColorIndex
设置选项卡颜色的方法。 - 添加了
RemoveHyperlink
方法以从单元格中删除超链接。 - 修复了在单元格没有超链接的情况下访问其超链接时抛出空引用异常的问题。
- 修复了访问 XLS 文件中的文件类型超链接时返回空字符串的问题。
- 修复了
ToDataTable
方法未能准确计算所有数据类型的问题。
2024年10月
IronXL 2024.10.2
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.10.2
发布说明:
- 将
IronSoftware.System.Drawing
更新到版本2024.9.11
2024年9月
IronXL 2024.9.3
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.9.3
发布说明:
- 小问题修复
2024年8月
IronXL 2024.8.5
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.8.5
发布说明:
- 小问题修复
2024 年 7 月
IronXL 2024.7.1
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.7.1
发布说明:
- 小问题修复
2024 年 6 月
IronXL 2024.6.1
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.6.1
发布说明:
- 小问题修复
2024 年 5 月
IronXL 2024.5.5
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.5.5
发布说明:
- 小问题修复
- 将
IronSoftware.System.Drawing
更新到版本 2024.5.1
2024 年 4 月
IronXL 2024.4.4
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.4.4
发布说明:
- 修复了一个“共享”公式的错误。(在多个单元格中复制的那种)保存文件时可能会丢失。
- 将 "IronSoftware.System.Drawing "更新至 2024.4.1 版
2024 年 3 月
IronXL 2024.3.20
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.3.20
发布说明:
- 将 IronSoftware.Common 更新至版本 2024.1.7
- 将 IronSoftware.System.Drawing 更新到版本 2024.3.4
- 修复了在 .NET Framework 中无法从 web.config 文件中获取许可证密钥的错误。
2024 年 2 月
IronXL 2024.2.25
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.2.25
发布说明:
- 将
IronSoftware.Common
更新至版本 2024.1.2 - 修复了从
DataSets
加载数据的方法执行速度非常慢的错误。(即LoadWorkSheetFromDataSet
方法) - 由于上述修复,在许多其他创建大量单元格的方法中性能有所提升。
- 修复了一个错误,该错误会导致对单元格进行任何样式更改时,单元格前景色被设置为黑色。
IronXL.Cell.Int64Value
和IronXL.Cell.Int32Value
方法已过时,将在未来被移除。 改为使用IronXL.Cell.IntValue
和IronXL.Cell.LongValue
。- 添加了
IronXL.Cells.Comment
类,以表示具有所有注释属性的设置器和获取器的单元格注释。 - 在
IronXL.Cell
类中添加Comment
属性,并提供添加和删除注释的方法。 如果单元格没有注释,Comment
属性为null
。 注释默认添加为不可见。
2024 年 1 月
IronXL 2024.1.21
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2024.1.21
发布说明:
- 小幅改进和错误修正
2023 年 12 月
IronXL 2023.12.19
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.12.19
发布说明:
- 修复了创建定义名称时抛出异常的错误。
- 修复加载包含图表工作表的电子表格时出现错误的问题。 请注意,图表工作表仍然不会被加载。 支持图表工作表仍然是一个功能请求。
- 添加了将命名表转换为
DataTables
的功能。 - 添加对数据验证的支持:
- 将
DataValidations
属性添加到WorkSheet
。 它包含工作表中的所有数据验证,并包含添加和删除数据验证的方法。 - 可以从电子表格中读取所有数据验证类型。
- 可以将
WholeNumber
、Decimal
、TextLength
、Date
、List
和FormulaList
数据验证添加到WorkSheet
中。
2023 年 11 月
IronXL 2023.11.12
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.11.12
发布说明:
- IronDrawing已更新至版本2023.11.1
- 小修小补和改进
IronXL.Logger
类已弃用。 请改用IronSoftware.Logger
2023 年 10 月
IronXL v2023.10.8
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.10.8
发布说明:
- IronDrawing 已更新至版本 2023.10.2
- 添加了对IronSoftware.Common 2023.10.2的依赖
- 小修小补和改进
2023 年 9 月
IronXL v2023.9.29
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.9.29
发布说明:
- IronDrawing 已更新至 2023.9.2 版
- 提高稳定性
- 性能提升,某些情况下执行时间最多可缩短 25
2023 年 8 月
IronXL v2023.8.19
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.8.19
发布说明:
- 小改进和修复
- 更新依赖项。
2023 年 7 月
IronXL v2023.7.4
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.7.4
发布说明:
- 添加
获取合并区域
方法,用于检索合并区域列表。 - 修复了
清除
方法没有删除集合中的所有工作表。 - 修复了
插入列
方法跳过最后一行。 - 修复了
Range.ToDataTable
方法会在遇到空行时停止转换。 - 添加
删除列
方法组改为范围
,范围行
,RangeColumn
,工作表
. 插入列
现在,方法组会正确地将列移开,更新公式并移动单元格的样式。- 在批量数据处理的某些情况下,可在时间上将性能提高 20-25%。
- 已弃用
Range.AllRowsInRange
和Range.AllColumnsInRange
属性,使用Range.Rows
和Range.Columns
而不是。对于工作表
,范围行
和RangeColumn
班级 - 工作表的内部工作范围现在会根据对工作表所做的所有更改正确更新
- 工作表的内部工作范围现在将包括范围末尾的空列,这些空列包含任何样式信息。
- 修复了
Range.Trim
方法,包括一个错误,其中修剪
不会修剪空列。 Range.RemoveColumn
和Range.RemoveRow
现在,如果删除后列/行是空的,方法将自动从工作表中完全删除该列/行,并向上/向左移动位于被删除列/行右下方的行/列。- 添加
Range.Count
属性,该属性无需遍历所有单元格即可返回单元格区域中的单元格数。 - 改变
Range.ColumnCount
和Range.RowCount
属性来返回范围内的列/行数,而无需遍历所有单元格。 - 改进范围类及其继承人的文档记录。
插入行
和插入列
方法现在将返回插入的行/列。对于插入行
和插入列
方法,但这些方法将返回插入的列/行列表。- 现在,当更改范围时,范围的地址将被正确更新(使用
修剪
/插入
/移除
/减去
方法)。 - 添加
WorkSheet.RangeAddress
在图纸上标明使用区域地址的属性 - 更新
IronSoftware.System.Drawing
至 2023.7.1 版
2023 年 6 月
IronXL v2023.6.4
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.6.4
发布说明:
- 添加
设置边框样式
方法,用于设置边框类型和颜色。 - 修正了一个错误,即图表系列中的"&"在保存后会破坏生成的文件。
- 修正了一个错误,即如果 .xlsx 文件(.xlsm、.xltx 等)的内部 XML 结构中包含一个开头和结尾的 br 标记,则该文件将被删除。
WorkBook.Load
方法会产生异常。 - 将 IronDrawing 依赖关系更新到 2023.6.1 版。
2023 年 5 月
IronXL v2023.5.4
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.5.4
发布说明:
- 修复了在某些 .NET Framework ASP.NET 项目中无法从 web.config 中检索许可证密钥的问题
- 修复了 System.Memory 版本冲突时可能发出的警告
2023 年 3 月
IronXL v2023.4.13
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.4.13
发布说明:
- 增加了对 IronSuite 许可证密钥的支持
- 修复了 IronXL 无法获取 .config 和 .json 文件中存储的许可证密钥的问题
- 新增对存储在应用程序子文件夹中 .config 和 .json 文件中的许可证密钥的支持
2023 年 2 月
IronXL v2023.2.5
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.2.5
发布说明:
- 现在安装 nuget 软件包前必须同意 EULA 条款
- 改进 "范围 "类的直觉描述
- 修正了一个错误,即在工作表中不存在列的情况下访问 WorkSheet.PhysicalColumnCount 属性时会出现异常
- 改进 Cell.Hyperlink 属性的智能提示描述
- 修正了一个错误,即在某些情况下,设置 Cell.Hyperlink 属性会检测到错误的超链接类型。
- 改进了对使用 AutoSizeRow/AutoSizeColumn 方法而系统中未发现字体时出现的异常的描述
- 更新依赖项
2023 年 1 月
IronXL v2023.1.14
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2023.1.14
发布说明:
- 用于 WorkSheet.InsertImage 方法的枚举已更改为 IronXL.Drawing.Images.ImageFormat
- 修正了一个 Bug,在不同的地方,图表可能会因为小数分隔符而损坏
- 性能改进
2022 年 12 月
IronXL v2022.12.11262
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.12.11262
发布说明:
- 修正了一个错误,该错误导致
许可
当使用 IronXL 的应用程序在挂接了 Visual Studio 调试器的情况下执行时,会抛出异常。 - 修正了一个错误,即删除多个图表中的一个后再添加另一个图表时会出现异常。
- 图表标题将不再覆盖图表区域。
IronXL v2022.12.10926
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.12.10926
发布说明:
- 修正了一个 Bug,在该 Bug 中,WorkBook.ExportToHtml 会因文档中未索引的颜色而产生异常。
- 修正了一个错误,即调用 Range、WorkSheet、RangeRow、RangeColumn、RangeStyle、RangeFont 和 RangeBorder 的属性时,会不必要地创建范围内的所有单元格。
- 修复了一个错误,即在加载带有特定 WebPublishing 设置的 .XLSX 文件时会出现异常
- 添加 WorkSheet.PhysicalColumnCount 和 WorkSheet.PhysicalRowCount 属性,返回当前工作表中实际存在的行数和列数。
- 改进并更新 IntelliSense 文档,以明确 "工作表 "和 "范围 "的某些属性和方法
- 提高读取 Range 对象的任何属性时的性能,尤其是读取大型 Range 时。这适用于所有从 Range 继承而来的对象(WorkSheet、RangeRow 等)。
2022 年 11 月
IronXL v2022.11.10251
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.11.10251
发布说明:
- 为工作簿加载方法添加重载,以接受加密的XLSX、XLSM和XLTX工作簿的密码。 添加的重载方法的完整列表:
- TryLoad(string filename, string password, out WorkBook workBook)
- 加载(字节[] 数据,字符串密码)
- 加载(数据流、字符串密码)
- LoadExcel(byte [] data, string password)
- LoadExcel(Stream file, string password)
- 加载Excel(字符串文件名,字符串密码)
- FromByteArray(byte [] data, string password)
- FromStream(Stream stream, string password)
- 添加 WorkBook.Encrypt(string password) 方法,该方法将工作簿写入 MemoryStream,使用作为参数提供的密码或存储在 WorkBook.Password 属性中的密码对其进行加密,并返回加密后的 MemoryStream。仅支持 XLSX、XLSM 和 XLTX 类型的工作簿。
- 添加 WorkBook.Decrypt(Stream stream, string password) 方法,该方法将解密作为参数提供的流和密码,并返回解密后的 MemoryStream。仅支持 XLSX、XLSM 和 XLTX 类型的工作簿。
- 修正了一个错误,即在将工作簿导出为 HTML 时,某些边框样式会导致异常
- 修正了一个错误,即如果在最后一行的位置插入行,InsertRow 方法会产生异常
- 提高 AutoSizeRow 和 AutoSizeColumn 方法的精度
- 将 InsertRow 方法的性能提高 25
2022 年 9 月
IronXL v2022.9.9454
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.9.9454
发布说明:
- 修正了一个 Bug,在该 Bug 中,首次创建的 ConditionalFormattingRule 无法正常工作
- 修正了一个 Bug,在该 Bug 中,条件格式化规则未应用字体颜色
- 修正了一个 Bug,当在 .xlsx 中更改 Cell.FormatString 属性时,会创建重复样式。
- 修复了一个 Bug,在该 Bug 中,对于大范围,Range.Row(int) 和 Range.Column(int) 方法的执行可能需要花费数分钟时间
- 添加枚举 IronXL.SortOrder,以指示排序方向(如适用
- 添加 Range.SortByColumn(string, SortOrder) 和 Range.SortByColumn(int, SortOrder) 方法,允许按指定列对范围排序,并根据指定列的新顺序重新排列被排序范围的行。
- 移除对 IronDrawing nuget 软件包的依赖,代之以 IronSoftware.System.Drawing
IronXL v2022.9.8711
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.9.8711
发布说明:
- 修正了上一版本中被错误混淆的一些方法的问题。受影响的方法列表:IronXL.Cells.CellFont.SetColor(Color), IronXL.Cells.CellStyle.SetBackgroundColor(Color), IronXL.Cells.XlsCellBorder.SetColor(Color), IronXL.Cells.XlsCellFont.SetColor(Color), IronXL.Cells.XlsCellStyle.SetBackgroundColor(Color)IronXL.Cells.XlsxCellStyle.SetBackgroundColor(Color)、IronXL.Ranges.RangeBorder.SetColor(Color)、IronXL.Ranges.RangeFont.SetColor(Color)、IronXL.Ranges.RangeStyle.SetBackgroundColor(Color)、IronXL.Styles.IBorder.SetColor(Color)、IronXL.Styles.IFont.SetColor(Color)、IronXL.Styles.IStyle.SetBackgroundColor(Color)
- 为 IronDrawing nuget 包添加一个依赖项,以便在使用上述方法时从 System.Drawing.Color 进行隐式转换。
- 添加方法 IronXL.Drawing.Images.Image.ToAnyBitmap(),该方法可从图像对象的字节数据创建 IronSoftware.Drawing.AnyBitmap 对象。
- 更新最终用户许可协议条款和条件
- IronXL.dll 已签名
2022 年 8 月
IronXL v2022.8.8357
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.8.8357
发布说明:
- 新增通过密码加密和解密“.xlsx”、“.xlsm”和“.xltx”文件的功能。 使用 WorkBook.SaveAs(字符串文件名,字符串密码)在保存时使用提供的密码加密工作簿的方法。 使用 WorkBook.Load(字符串文件名,字符串密码)使用提供的密码在加载工作簿时解密文件的方法。 密码还可以通过以下方式指定:
- 使用 WorkBook.Password 属性(如果该属性不为空,工作簿将在保存时加密,如果为空,则不会加密)
- 在调用 WorkBook.SaveAs(string fileName, SavingOptions options) 方法时,使用带有 SavingOptions.Password 属性的 SavingOptions 对象
- 在调用 WorkBook.Load(string filename, LoadingOptions options) 方法时,使用带有 LoadingOptions.Password 属性的 LoadingOptions 对象
若要检查 WorkBook 对象在保存时是否会被加密,请使用 WorkBook.IsEncrypted 布尔属性。 可以通过将 WorkBook.IsEncrypted 设置为 false 来关闭加密。(注意:不能通过指定 WorkBook.IsEncrypted = true 来加密工作簿,否则会在运行时出现异常,并要求指定密码).
为工作簿设置除“.xlsx”、“.xlsm”和“.xltx”之外的其他类型的密码也会在运行时抛出异常,提醒用户工作簿无法加密。
- 增加了对 .NET 6.0 的支持
- 移除对 System.Common.Drawing 的依赖
- 删除对 .NET Framework 4.5 的支持。现在支持的最低 .NET Framework 版本为 4.6.2
- 重大变更:WorkBook.SaveAs(string filename, string listDelimiter) 方法更名为 WorkBook.SaveAsWithCustomDelimiter(string filename, string listDelimiter) 以消除 SaveAs(string filename, string listDelimiter) 和 SaveAs(string fileName, string password) 方法之间的歧义。
- 重大变更:由于不再支持 System.Common.Drawing,因此删除了 IronXL.Drawing.Images.IImage.ToBitmap() 方法。
- 重大变更:IronXL.Drawing.Images.IImage.ToImage() 方法现在返回一个 SixLabors.ImageSharp.Image 对象,用于替代已移除的 System.Common.Drawing 对象。
- 修正了一个 Bug,在该 Bug 中,为 XLSX 工作簿中的单元格或区域设置的背景色无法在 Excel 中呈现。
- 修复了泰语语言区抛出许可证异常的错误
- 修正了一个错误,即在 XLSX 工作簿中,每次为新单元格分配日期时间值时,都会为每个单元格创建新的单元格样式,从而导致样式表溢出,如果单元格数大于 64000,则会破坏生成的文件。
- 提高创建带有日期时间值和格式的大量单元格的速度。例如,在单个工作表中创建一个包含 80K 个日期时间值和格式单元格的工作簿,以前需要 25 秒,现在只需不到 0.8 秒(实际性能取决于代码执行的环境)。
2022 年 7 月
IronXL v2022.7.7362
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.7.7362
发布说明:
- 添加了一种更改单元格字符串值而不自动格式化单元格的方法:这是通过单元格的 StringValue 属性实现的。
- 为 "行 "和 "工作表 "添加 AutoSizeRow 方法,该方法可改变行的高度以适应内容的大小
- 为 "列 "和 "工作表 "添加 AutoSizeColumn 方法,可改变行的宽度以适应内容
- 修复了一个错误,即在添加或更改边框时会出现异常
- 修正了一个错误,即当单元格值更改为依赖于单个单元格的公式(例如"=A1")时,会出现异常。
- 修正了一个错误,即类似于 "12-720 "的字符串添加到单元格时,会被解析为 720 年的日期。Excel 不支持 1900 年以前的日期。这样的字符串不再被解析为日期。但是,可以解析为 1900 年后有效日期的字符串仍会被解析为日期。例如 "12-1956"。使用 StringValue 属性可以绕过这种解析。
- 修正了一个错误,即在加载、更改和保存现有工作簿时,单元格的内容更改后可能会丢失原有格式。现在已不再出现这种情况。
2022 年 6 月
IronXL v2022.6.6825
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.6.6825
发布说明:
- 添加新的 IronXL.Formatting.ConditionType
- 旧版 IronXL.Formatting.Enums.ConditionType 已过时
- 添加对 "格式为表 "样式的支持
- 修正了一个错误,即通过 IronXL 加载包含数据透视表的文件,然后保存,结果文件会损坏
- 修正了一个错误,即复制并粘贴范围后,保存工作簿,结果文件会损坏
- 修正了一个错误,即加载包含特定图表类型的文件后保存,结果文件损坏
- 修正了一个错误,即加载了包含 .bmp 图像的文件,但无法通过代码访问 .bmp 图像
- 修正了一个错误,即创建的工作簿包含任意数量的已用单元格,保存后生成的文件会损坏
- 修复了其他一些偶尔可能导致文件损坏的罕见错误
- 修正了对单元格范围进行任何样式更改都要耗费大量时间的问题。样式更改包括字体(高度、粗细等)、垂直对齐方式、水平对齐方式等的更改。
- 无论是使用 IronXL 创建还是导入和编辑 IronXL 文件,都能提高生成文件的整体稳定性
- 极大地提高了性能,以前生成一个包含 10000 个已用单元格的文件需要 1.5 分钟,而现在只需 20 秒(根据代码对单元格执行的操作而有所不同)
2022 年 3 月
IronXL v2022.3.0
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2022.3.0
发布说明:
- 改进:支持 .NET 6
- 改进:速度和稳定性
2021 年 12 月
IronXL v2021.12.0
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2021.12.0
发布说明:
- 改进:支持 .NET 5 和 .NET 6 测试版
- 改进:速度和稳定性
- 改进:日志记录
2021 年 10 月
IronXL v2021.11.0
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2021.11.0
发布说明:
- 改进:支持 .NET 5 和 .NET 6 测试版
- 修正的错误:许可证密钥验证不再使用空格
- 改进:速度和稳定性
2021 年 8 月
IronXL v2021.9.0
功能与升级
https://www.nuget.org/packages/IronXL.Excel/2021.9.0
发布说明:
- 修正的错误:现在可与 .NET 5.07 兼容
- 修正的错误:从项目配置文件读取许可证密钥(边缘情况)
- 改进:速度和稳定性