Changelog: Updates, milestones, roadmap
Join 50,000 developers to get updates
IronXL Roadmap
IronXL was created to make it easy for developers to read and create XLS, XLSX and CSV files in C# and all other .NET languages.
IronXL is leading the charge to empower developers to edit Excel files in C#, without the need for Office Interop.
Today our team are focused on further advancing IronXL by prioritizing feedback from our developer community
Build releases are happening on a monthly basis, with new functionality making IronXL the preferred choice for many developers.
Long term, we plan to launch IronXL for multiple programming languages. Early stage R&D is in progress for building further MS Office products for Word, PowerPoint, and the further Microsoft Office Suite.
November 2024
IronXL 2024.11.16
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.11.16
Release Notes:
- Updated
IronSoftware.System.Drawing
to 2024.9.15 - Updated
IronSoftware.Common
to 2024.9.38 - Added support for switching column direction to right-to-left. Useful for languages such as Arabic, Chinese, and Hebrew
- Added methods for setting tab colors with
SetWorksheetTabColor
andSetWorksheetTabColorIndex
- Added the
RemoveHyperlink
method to remove hyperlinks from cells - Fixed an issue where accessing a cell's hyperlink threw a Null Reference Exception if the cell didn’t have one
- Fixed an issue where accessing file-type hyperlinks in XLS files return empty string
- Fixed an issue where the
ToDataTable
method did not accurately compute all data types
October 2024
IronXL 2024.10.2
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.10.2
Release Notes:
- Updates
IronSoftware.System.Drawing
to version 2024.9.11
September 2024
IronXL 2024.9.3
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.9.3
Release Notes:
- Minor Bug Fixes
August 2024
IronXL 2024.8.5
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.8.5
Release Notes:
- Minor Bug Fixes
July 2024
IronXL 2024.7.1
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.7.1
Release Notes:
- Minor Bug Fixes
June 2024
IronXL 2024.6.1
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.6.1
Release Notes:
- Minor Bug Fixes
May 2024
IronXL 2024.5.5
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.5.5
Release Notes:
- Minor Bug Fixes
- Updates
IronSoftware.System.Drawing
to version 2024.5.1
April 2024
IronXL 2024.4.4
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.4.4
Release Notes:
- Fixes a bug where a "shared" formula (the kind that is copied across multiple cells) would be lost when saving a file.
- Updates
IronSoftware.System.Drawing
to version 2024.4.1
March 2024
IronXL 2024.3.20
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.3.20
Release Notes:
- Updates IronSoftware.Common to version 2024.1.7
- Updates IronSoftware.System.Drawing to version 2024.3.4
- Fixes a bug where license key would not be picked up from web.config file in .NET Framework
February 2024
IronXL 2024.2.25
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.2.25
Release Notes:
- Updates
IronSoftware.Common
to version 2024.1.2 - Fixes a bug with a very slow execution of methods loading data from
DataSets
(namelyLoadWorkSheetsFromDataSet
methods) - Performance improvements as a result of the above fix in many other methods that create large numbers of cells
- Fixes a bug where any style changes to a cell would cause a cell foreground color to be set to black
IronXL.Cell.Int64Value
andIronXL.Cell.Int32Value
methods are obsolete and will be removed in the future. UseIronXL.Cell.IntValue
andIronXL.Cell.LongValue
instead- Adds
IronXL.Cells.Comment
class to represent cell comments with setters and getters for all comment properties - Adds
Comment
property toIronXL.Cell
class with methods to add and remove comments. TheComment
property isnull
if cell has no comment. Comments are added as invisible by default
January 2024
IronXL 2024.1.21
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2024.1.21
Release Notes:
- Minor improvements and bug fixes
December 2023
IronXL 2023.12.19
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.12.19
Release Notes:
- Fixes a bug where creating defined names throws exceptions.
- Fixes the issues where loading spreadsheets containing a chart sheet throws an error. Note that chart sheets will still not be loaded. Supporting chart sheets is still a feature request.
- Adds a feature to convert named tables to
DataTables
. - Adds support for Data validations:
DataValidations
property added toWorkSheet
. It contains all data validations in the worksheet and contains methods to add and remove data validations.- All data validations types can be read from spreadsheets.
WholeNumber
,Decimal
,TextLength
,Date
,List
andFormulaList
data validations can be added toWorkSheet
.
November 2023
IronXL 2023.11.12
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.11.12
Release Notes:
- IronDrawing is updated to version 2023.11.1
- Minor fixes and improvements
IronXL.Logger
class is deprecated. UseIronSoftware.Logger
instead
October 2023
IronXL v2023.10.8
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.10.8
Release Notes:
- IronDrawing is updated to version 2023.10.2
- Added dependency on IronSoftware.Common 2023.10.2
- Minor fixes and improvements
September 2023
IronXL v2023.9.29
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.9.29
Release Notes:
- IronDrawing is updated to version 2023.9.2
- Stability improvements
- Performance improvements up to 25% faster execution time in some cases
August 2023
IronXL v2023.8.19
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.8.19
Release Notes:
- Minor improvements and fixes.
- Updates dependencies.
July 2023
IronXL v2023.7.4
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.7.4
Release Notes:
- Adds the
GetMergedRegions
method, which is used to retrieve a list of merged regions. - Fixes a bug where the
Clear
method did not delete all worksheets in the collection. - Fixes a bug where the
InsertColumn
method skip the last row. - Fixes a bug where the
Range.ToDataTable
method would stop converting when it encountered an empty row. - Adds
RemoveColumn
method group toRange
,RangeRow
,RangeColumn
,Worksheet
. InsertColumn
method group will now correctly shift the columns out of the way, updating the formulas and moving styles with the cells.- Improves performance time-wise by 20-25% in some cases of bulk data manupulation.
- Deprecates the
Range.AllRowsInRange
andRange.AllColumnsInRange
properties, useRange.Rows
andRange.Columns
instead. This is also true for theWorkSheet
,RangeRow
andRangeColumn
classes. - WorkSheet's internal working range will now correctly update with all changes made to the worksheet
- WorkSheet's internal working range will now include the empty columns at the end of the range which hold any styling information.
- Fixed numerous bugs in
Range.Trim
method, including a bug whereTrim
would not trim empty columns. Range.RemoveColumn
andRange.RemoveRow
methods will now ALAWAYS remove the column/row entirely from the sheet, shifting up/to the left the rows/columns located below/to the right of the removed ones, if after the removal the column/row is empty.- Adds
Range.Count
property, which returns the number of cells in the range without iterating over all cells. - Changes the
Range.ColumnCount
andRange.RowCount
properties to return the number of columns/rows in the range without iterating over all cells. - Improves documentation for Range class and its heirs.
InsertRow
andInsertColumn
methods will now return the inserted row/column. Same forInsertRows
andInsertColumns
methods but these will return lists of inserted columns/rows.- Range's address will now be correctly updated when the range is changed (with
Trim
/Insert
/Remove
/Subtract
methods). - Adds
WorkSheet.RangeAddress
property with the address of the area in use on the sheet - Updates
IronSoftware.System.Drawing
to version 2023.7.1
June 2023
IronXL v2023.6.4
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.6.4
Release Notes:
- Adds
SetBorderStyle
method, used to set border type and color. - Fixes a bug where "&" in the charts' series breaks the resulting file after save.
- Fixes a bug where if an .xlsx (.xlsm, .xltx, etc.) file had an opening and closing br tag in it's internal XML structure -
WorkBook.Load
method would throw an exception. - Updates IronDrawing dependency to version 2023.6.1.
May 2023
IronXL v2023.5.4
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.5.4
Release Notes:
- Fixes an issue where license keys would not be retrieved from web.config in some .NET Framework ASP.NET projects
- Fixes possible warnings about System.Memory version conflicts
March 2023
IronXL v2023.4.13
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.4.13
Release Notes:
- Adds support for the IronSuite license keys
- Fixes issues with license keys stored in .config and .json files not being picked up by IronXL
- Adds support for license keys stored in .config and .json files in subfolders of the application
February 2023
IronXL v2023.2.5
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.2.5
Release Notes:
- Agreement to EULA terms is now required before installing the nuget package
- Improves intellisense descriptions for Range class
- Fixes a bug, where WorkSheet.PhysicalColumnCount property would throw an exception when accessed while no columns exist on the worksheet
- Improves intellisense descriptions for Cell.Hyperlink property
- Fixes a bug, when setting Cell.Hyperlink property would in some cases detect the wrong hyperlink type
- Improves the description of an exception that occurs when AutoSizeRow/AutoSizeColumn methods are used while no fonts are found in the system
- Updates dependencies
January 2023
IronXL v2023.1.14
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2023.1.14
Release Notes:
- Enum used for WorkSheet.InsertImage method is changed to IronXL.Drawing.Images.ImageFormat
- Fixes a bug where on different locales charts could become corrupted because of the decimal separator
- Performance improvements
December 2022
IronXL v2022.12.11262
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.12.11262
Release Notes:
- Fixes a bug wherein a
Licensing
exception is thrown when an application using IronXL is executed with a Visual Studio debugger hooked. - Fixes a bug wherein deleting one of the multiple charts and then adding another chart will throw an exception.
- Chart titles will no longer overlay the chart area.
IronXL v2022.12.10926
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.12.10926
Release Notes:
- Fixes a bug, where WorkBook.ExportToHtml was throwing an exception due to un-indexed colors in the document
- Fixes a bug, where getter calls for properties of Range, WorkSheet, RangeRow, RangeColumn, RangeStyle, RangeFont and RangeBorder would unnecessarily create all cells in the range
- Fixes a bug, where exception was thrown upon loading .XLSX files with specific WebPublishing settings
- Adds WorkSheet.PhysicalColumnCount and WorkSheet.PhysicalRowCount properties, which return the number of rows and columns that are physically present in this worksheet at the moment.
- Improves and updates IntelliSense documentation to clarify some of the WorkSheet' and Range' properties and methods
- Improves performance when reading any of the Range object's properties, especially in case of large Ranges. This applies to all objects that are inherited from Range (WorkSheet, RangeRow etc.)
November 2022
IronXL v2022.11.10251
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.11.10251
Release Notes:
- Adds overloads for WorkBook loading methods to accept a password for encrypted XLSX, XLSM and XLTX workbooks. Full list of added overloads:
- TryLoad(string filename, string password, out WorkBook workBook)
- Load(byte [] data, string password)
- Load(Stream stream, string password)
- LoadExcel(byte [] data, string password)
- LoadExcel(Stream file, string password)
- LoadExcel(string filename, string password)
- FromByteArray(byte [] data, string password)
- FromStream(Stream stream, string password)
- Adds a method WorkBook.Encrypt(string password) which will write a workbook into a MemoryStream, encrypt it using a password provided as an argument or the one stored in WorkBook.Password property and return resulting encrypted MemoryStream. Only supported for XLSX, XLSM and XLTX types of workbooks.
- Adds a method WorkBook.Decrypt(Stream stream, string password) which will decrypt a Stream a password provided as an argument and return resulting decrypted MemoryStream. Only supported for XLSX, XLSM and XLTX types of workbooks.
- Fixes a bug where some border styles cause an exception when exporting workbook as HTML
- Fixes a bug where InsertRow method would throw an exception, if the row was inserted in the place of the last existing row
- Improves precision of AutoSizeRow and AutoSizeColumn methods
- Improves performance of InsertRow method by 25%
September 2022
IronXL v2022.9.9454
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.9.9454
Release Notes:
- Fixes a bug where first created ConditionalFormattingRule wasn't working properly
- Fixes a bug where font color wasn't applied by conditional formatting rule
- Fixes a bug where duplicate style were created when Cell.FormatString property was changed in .xlsx
- Fixes a bug where Range.Row(int) and Range.Column(int) methods could take minutes of time to execute for large ranges
- Adds an enumeration IronXL.SortOrder to indicate a direction for sorting where applicable
- Adds Range.SortByColumn(string, SortOrder) and Range.SortByColumn(int, SortOrder) methods, that allow sorting a range by a specified column, re-arranging rows of a range being sorted according to specified column's new order
- Removes dependency to IronDrawing nuget package and replaces it with IronSoftware.System.Drawing
IronXL v2022.9.8711
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.9.8711
Release Notes:
- Fixes a problem with a number of methods which were wrongly obfuscated in previous release. List of the methods affected: 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.XlsxCellBorder.SetColor(Color), IronXL.Cells.XlsxCellFont.SetColor(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)
- Adds a dependency to a IronDrawing nuget package to enable implicit casting from System.Drawing.Color when using methods listed above
- Adds a method IronXL.Drawing.Images.Image.ToAnyBitmap() which creates an IronSoftware.Drawing.AnyBitmap object from byte data of The Image object
- Updates End User License Agreement terms and conditions
- IronXL.dll is now signed
August 2022
IronXL v2022.8.8357
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.8.8357
Release Notes:
- Adds a feature of encrypting and decrypting ".xlsx", ".xlsm" and ".xltx" files with a password. Use WorkBook.SaveAs(string fileName, string password) method to encrypt the WorkBook with provided password when saving it. Use WorkBook.Load(string filename, string password) method to decrypt file with provided password when loading the workbook. Password can also be specified with following:
- using WorkBook.Password property (workbook will be encrypted on save if this property is not null, and will not be encrypted if it is null)
- using SavingOptions object with SavingOptions.Password property, when calling WorkBook.SaveAs(string fileName, SavingOptions options) method
- using LoadingOptions object with LoadingOptions.Password property, when calling WorkBook.Load(string filename, LoadingOptions options) method
To check if the WorkBook object will be encrypted on save use WorkBook.IsEncrypted boolean property. Encryption can also be turned off by assigning WorkBook.IsEncrypted = false (Note: workbook cannot be encrypted by assigning WorkBook.IsEncrypted = true, this will throw an exception at runtime, asking to instead specify a password).
Setting passwords to a workbook of a type other than ".xlsx", ".xlsm" and ".xltx" will also throw an exception at runtime alerting user that the workbook could not be encrypted
- Adds support for .NET 6.0
- Removes dependency on System.Common.Drawing
- Removes support for .NET Framework 4.5. Minimum supported .NET Framework version is now 4.6.2
- Breaking change: WorkBook.SaveAs(string filename, string listDelimiter) method was renamed to WorkBook.SaveAsWithCustomDelimiter(string filename, string listDelimiter) to remove ambiguity between SaveAs(string filename, string listDelimiter) and SaveAs(string fileName, string password) methods
- Breaking change: IronXL.Drawing.Images.IImage.ToBitmap() method is removed, as System.Common.Drawing is no longer supported.
- Breaking change: IronXL.Drawing.Images.IImage.ToImage() method now returns a SixLabors.ImageSharp.Image object used as a replacement for removed System.Common.Drawing objects.
- Fixes a bug where a background color set to a cell or a range in XLSX workbook didn't render in Excel.
- Fixes a bug where Thai language locale throwed license exception
- Fixes a bug where each time a new cell was assigned a DateTime value in XLSX workbook a new cell style was created for each cell, overflowing the style table and breaking the resulting file if the number of cells was > 64000.
- Improves speed of creating large amounts of cells with a DateTime value and format. For example, creating a workbook with 80K DateTime value and format cells on a single worksheet used to take 25 seconds, and now takes less then 0.8 seconds (actual performance will depend on the environment the code is executed in).
July 2022
IronXL v2022.7.7362
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.7.7362
Release Notes:
- Adds a way to change the string value of a cell without automatically formatting the cell: this is achieved through StringValue property of a Cell.
- Adds AutoSizeRow method to Row and WorkSheet, which changes the height of a row to fit the contents
- Adds AutoSizeColumn method to Column and WorkSheet, which changes the width of a row to fit the contents
- Fixes a bug, where an exception was thrown, when a border was added or changed
- Fixes a bug, where an exception was thrown, when a cell value was changed to a formula that depends on a single cell, for example "=A1"
- Fixes a bug, where a string similar to something like "12-720" was parsed as a date in a year 720, when added to a cell. Excel doesn't support dates that predate year 1900. Strings like this are no longer parsed as dates. However, strings that could be parsed as a valid date after 1900 will still be parsed as a date. For example "12-1956". Use StringValue property to bypass this parse.
- Fixes a bug, where an existing workbook is loaded, changed and saved: cells could lose original formatting when their contents were changed. This is no longer the case.
June 2022
IronXL v2022.6.6825
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.6.6825
Release Notes:
- Adds a new IronXL.Formatting.ConditionType
- Old IronXL.Formatting.Enums.ConditionType is obsolete
- Adds support for Format as Table styles
- Fixes a bug where files containing pivot tables were loaded through IronXL then saved and resulting files come out corrupted
- Fixes a bug where a range was copied and pasted, workbook is saved and resulting file comes out corrupted
- Fixes a bug where a file containing specific chart types was loaded then saved and resulting file comes out corrupted
- Fixes a bug where a file containing .bmp images was loaded, but .bmp images could not be reached through code
- Fixes a bug where a workbook is created containing an arbitrarily large number of used cells, then saved and resulting file comes out corrupted
- Fixes some other rare bugs that occasionally might result in a corrupted file
- Fixes a where any style changed applied to a range of cells took exorbitant amount of time. Style changes include changes of fonts (height, boldness, etc.), vertical alignment, horizontal alignment, etc.
- Improves overall stability of resulting files, both created using IronXL and imported and edited by IronXL files
- Greatly improves performance, generating a file with 10000 used cells used to take up 1.5 minutes, now takes only 20 seconds (will vary depending on operations performed on a cell by your code)
March 2022
IronXL v2022.3.0
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2022.3.0
Release Notes:
- Improved: Support .NET 6
- Improved: Speed and Stability
December 2021
IronXL v2021.12.0
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2021.12.0
Release Notes:
- Improved: Support for .NET 5 and .NET 6 beta
- Improved: Speed and Stability
- Improved: Logging
October 2021
IronXL v2021.11.0
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2021.11.0
Release Notes:
- Improved: Supporyt for .NET 5 and .NET 6 beta
- Bug Fixed: License Keys validation is now whitespace safe
- Improved: Speed and Stability
August 2021
IronXL v2021.9.0
Features & Upgrades
https://www.nuget.org/packages/IronXL.Excel/2021.9.0
Release Notes:
- Bug Fixed: Now works with .NET 5.07
- Bug Fixed: License Keys reading from project configuration files (edge casess)
- Improved: Speed and Stability