IronXL Changelog

What's new in IronXL 2024.5.5

May 6, 2024
  • Minor Bug Fixes

New in IronXL 2024.4.4 (Apr 8, 2024)

  • 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

New in IronXL 2024.3.20 (Apr 4, 2024)

  • 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

New in IronXL 2024.1.21 (Jan 4, 2024)

  • Minor improvments and bug fixes

New in IronXL 2023.12.19 (Dec 1, 2023)

  • Fixes a bug where creating defined names throws exceptions.
  • Fixes issues where loading spreadsheets containing a chartsheet throws an error. Note that chartsheets will still not be loaded. Supporting chartsheets is still a feature request.
  • Adds a feature to convert Named tables to DataTables.
  • Adds support for Data validations:
  • DataValidations property added to WorkSheet. 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 and FormulaList data validations can be added to WorkSheet.

New in IronXL 2023.11.12 (Nov 1, 2023)

  • IronDrawing is updated to version 2023.11.1
  • Minor fixes and improvements
  • IronXL.Logger class is deprecated. Use IronSoftware.Logger instead

New in IronXL 2023.10.7 (Sep 26, 2023)

  • IronDrawing is updated to version 2023.10.2
  • Added dependency on IronSoftware.Common 2023.10.2
  • Minor fixes and improvements

New in IronXL 2023.9.29 (Aug 31, 2023)

  • IronDrawing is updated to version 2023.9.2
  • Stability improvements
  • Performance improvements up to 25% faster execution time in some cases

New in IronXL 2023.8.19 (Jul 31, 2023)

  • Minor improvements and fixes
  • Updates dependencies

New in IronXL 2023.7.4 (Jul 6, 2023)

  • 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 wolud stop converting when it encountered an empty row.
  • Adds RemoveColumn method group to Range, 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 and Range.AllColumnsInRange properties, use Range.Rows and Range.Columns instead. This is also true for the WorkSheet, RangeRow and RangeColumn 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 where Trim would not trim empty columns.
  • Range.RemoveColumn and Range.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 and Range.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 and InsertColumn methods will now return the inserted row/column. Same for InsertRows and InsertColumns 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

New in IronXL 2023.6.4 (May 29, 2023)

  • 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

New in IronXL 2023.4.13 (Apr 3, 2023)

  • 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

New in IronXL 2023.2.5 (Feb 27, 2023)

  • 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 occures when AutoSizeRow/AutoSizeColumn methods are used while no fonts are found in the system
  • Updates dependensies

New in IronXL 2023.1.14 (Jan 31, 2023)

  • Enum used for WorkSheet.InsertImage method is changed to IronXL.Drawing.Images.ImageType
  • Fixes a bug where on different locales charts could become corrupted becasue of the decimal separator
  • Performance improvments

New in IronXL 2022.12.11262 (Dec 29, 2022)

  • Fixes a bug, where a Licensing exception is thrown, when application using IronXL is executed with a Visual Studio debugger hooked.
  • Fixes a bug, where deleting one of the multiple charts and then adding another chart will throw an exception.
  • Chart titles will now not overlay the chart area.

New in IronXL 2022.12.10926 (Dec 8, 2022)

  • 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.)

New in IronXL 2022.11.10251 (Nov 2, 2022)

  • 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)
  • TryLoadExcel(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%

New in IronXL 2022.9.9454 (Sep 29, 2022)

  • 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

New in IronXL 2022.9.8711 (Sep 2, 2022)

  • 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

New in IronXL 2022.3.0 (Mar 10, 2022)

  • Improved: Support .NET 6
  • Improved: Speed and Stability

New in IronXL 2021.11.0.0 (Nov 2, 2021)

  • Bug Fixed: Azure Function Compatibility
  • Bug Fixed: Works with read-only OCR dictionaries
  • Bug Fixed: Now works with .Net 5.07
  • Bug Fixed: License Keys reading from project configuration files (edge casess)
  • Feature: Color replacement methods added to OcrInput
  • Feature: Load specfic frames from TIFF and PDF files
  • Improved: Updated System.Drawing.Common

New in IronXL 2020.12.2 (Dec 8, 2020)

  • Improved Security & Licensing
  • Improved .Net 5 Compatibility