变更日志:更新、里程碑、路线图
[{hpt:chngLogFrm}]
IronXL 路线图
IronXL 是为使开发人员能够轻松在 C# 及所有其他 .NET 语言中读取和创建 XLS、XLSX 和 CSV 文件而创建的。
IronXL正引领潮流,赋能开发人员无需Office Interop即可在C#中编辑Excel文件。
今天我们团队的重点是通过优先考虑开发者社区的反馈,进一步改进IronXL。
版本发布每月进行,新功能使IronXL成为许多开发人员的首选。
从长远来看,我们计划推出适用于多种编程语言的IronXL。 早期研发正在进行中,用于开发更多适用于Word、PowerPoint和其他Microsoft Office套件的MS Office产品。
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
发布说明:
- 添加
获取合并区域
方法,用于检索合并区域列表。 - 修复了
清除
方法没有删除集合中的所有工作表。 - 修复了
插入列
方法跳过最后一行。 - 修复了
范围.ToDataTable
方法会在遇到空行时停止转换。 - 添加
删除列
方法组改为范围
,范围Row
,范围Column
,工作表
. 插入列
现在,方法组会正确地将列移开,更新公式并移动单元格的样式。- 在批量数据处理的某些情况下,可在时间上将性能提高 20-25%。
- 已弃用
范围.AllRowsIn范围
和范围.AllColumnsIn范围
属性,使用范围.Rows
和范围.Columns
而不是。对于工作表
,范围Row
和范围Column
班级 - 工作表's internal working range will now correctly update with all changes made to the worksheet
- 工作表's internal working range will now include the empty columns at the end of the range which hold any styling information.
- 修复了
范围.修剪
方法,包括一个错误,其中修剪
不会修剪空列。 范围.删除列
和范围.移除Row
现在,如果删除后列/行是空的,方法将自动从工作表中完全删除该列/行,并向上/向左移动位于被删除列/行右下方的行/列。- 添加
范围.Count
属性,该属性无需遍历所有单元格即可返回单元格区域中的单元格数。 - 改变
范围.ColumnCount
和范围.RowCount
属性来返回范围内的列/行数,而无需遍历所有单元格。 - Improves documentation for 范围 class 和 its heirs.
插入行
和插入列
方法现在将返回插入的行/列。对于插入行s
和插入列s
方法,但这些方法将返回插入的列/行列表。- 范围's address will now be correctly updated when the range is changed (with
修剪
/插入
/移除
/减去
方法)。 - 添加
工作表.范围Address
在图纸上标明使用区域地址的属性 - 更新
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
- 修正了一个 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
- 修正了上一版本中被错误混淆的一些方法的问题。受影响的方法列表: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
- 新增通过密码加密和解密“.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 对象
- 增加了对 .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
- 添加了一种更改单元格字符串值而不自动格式化单元格的方法:这是通过单元格的 StringValue 属性实现的。
- 为 "行 "和 "工作表 "添加 AutoSizeRow 方法,该方法可改变行的高度以适应内容的大小
- 为 "列 "和 "工作表 "添加 AutoSizeColumn 方法,可改变行的宽度以适应内容
- 修复了一个错误,即在添加或更改边框时会出现异常
- 修正了一个错误,即当单元格值更改为依赖于单个单元格的公式(例如"=A1")时,会出现异常。
- 修正了一个错误,即类似于 "12-720 "的字符串添加到单元格时,会被解析为 720 年的日期。Excel 不支持 1900 年以前的日期。这样的字符串不再被解析为日期。但是,可以解析为 1900 年后有效日期的字符串仍会被解析为日期。例如 "12-1956"。使用 StringValue 属性可以绕过这种解析。
- 修正了一个错误,即在加载、更改和保存现有工作簿时,单元格的内容更改后可能会丢失原有格式。现在已不再出现这种情况。
## 2022 年 6 月
IronXL v2022.6.6825
- 添加新的 IronXL.Formatting.ConditionType
- 旧版 IronXL.Formatting.Enums.ConditionType 已过时
- 添加对 "格式为表 "样式的支持
- 修正了一个错误,即通过 IronXL 加载包含数据透视表的文件,然后保存,结果文件会损坏
- 修正了一个错误,即复制并粘贴范围后,保存工作簿,结果文件会损坏
- 修正了一个错误,即加载包含特定图表类型的文件后保存,结果文件损坏
- 修正了一个错误,即加载了包含 .bmp 图像的文件,但无法通过代码访问 .bmp 图像
- 修正了一个错误,即创建的工作簿包含任意数量的已用单元格,保存后生成的文件会损坏
- 修复了其他一些偶尔可能导致文件损坏的罕见错误
- 修正了对单元格范围进行任何样式更改都要耗费大量时间的问题。样式更改包括字体(高度、粗细等)、垂直对齐方式、水平对齐方式等的更改。
- 无论是使用 IronXL 创建还是导入和编辑 IronXL 文件,都能提高生成文件的整体稳定性
- 极大地提高了性能,以前生成一个包含 10000 个已用单元格的文件需要 1.5 分钟,而现在只需 20 秒(根据代码对单元格执行的操作而有所不同)
## 2022 年 3 月
IronXL v2022.3.0
- 改进:支持 .NET 6
- 改进:速度和稳定性
## 2021 年 12 月
IronXL v2021.12.0
- 改进:支持 .NET 5 和 .NET 6 测试版
- 改进:速度和稳定性
- 改进:日志记录
## 2021 年 10 月
IronXL v2021.11.0
- 改进:支持 .NET 5 和 .NET 6 测试版
- 修正的错误:许可证密钥验证不再使用空格
- 改进:速度和稳定性
## 2021 年 8 月
IronXL v2021.9.0
- 修正的错误:现在可与 .NET 5.07 兼容
- 修正的错误:从项目配置文件读取许可证密钥(边缘情况)
- 改进:速度和稳定性