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 2022

IronXL v2022.11.10251

Nov 2, 2022
Version 2022.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%

IronXL v2022.9.8711

Sep 2, 2022
Version 2022.9.8711

September 2022

IronXL v2022.9.9454

Sep 29, 2022
Version 2022.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

Sep 2, 2022
Version 2022.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

Aug 23, 2022
Version 2022.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

Jul 13, 2022
Version 2022.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

Jun 23, 2022
Version 2022.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

Mar 10, 2022
Version 2022.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

Dec 21, 2021
Version 2021.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

Oct 29, 2021
Version 2021.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

Aug 24, 2021
Version 2021.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