IronXL for .NET 2022.x
Released: Mar 10, 2022
2022.x での更新項目
2022.12.11262
Updated Dec 29, 2022
Fixes
- Bug where a licensing exception is thrown, when an application using IronXL is executed with a Visual Studio debugger hooked.
- Bug where deleting one of the multiple charts and then adding another chart throws an exception.
- Chart titles will now not overlay the chart area.
2022.12.10926
Updated Dec 8, 2022
Features
- Added 'WorkSheet.PhysicalColumnCount' and 'WorkSheet.PhysicalRowCount' properties, which return the number of rows and columns that are currently physically present in this worksheet.
- Improved and updated IntelliSense documentation to clarify some of the 'WorkSheet' and 'Range' properties and methods.
- Improved performance when reading 'Range' object properties, especially in the case of large ranges. This applies to all objects that are inherited from 'Range' including 'WorkSheet' and 'RangeRow' etc.
Fixes
- Fixed a bug where WorkBook.ExportToHtml was throwing an exception due to un-indexed colors in the document.
- Fixed a bug where getter calls for properties of Range, WorkSheet, RangeRow, RangeColumn, RangeStyle, RangeFont and RangeBorder would unnecessarily create all cells in the range.
- Fixed a bug where exception was thrown upon loading .XLSX files with specific WebPublishing settings.
2022.11.10251
Updated Nov 2, 2022
Features
- Added 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).
- Added new WorkBook.Encrypt(string password) method 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.
- Added new WorkBook.Decrypt(Stream stream, string password) method 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.
- Improved precision of AutoSizeRow and AutoSizeColumn methods.
- Improved performance of InsertRow method by 25%.
Fixes
- Fixed a bug where some border styles cause an exception when exporting workbook as HTML.
- Fixed a bug where InsertRow method would throw an exception, if the row was inserted in the place of the last existing row.
2022.9.9454
Updated Sep 29, 2022
Features
- Added an enumeration 'IronXL.SortOrder' to indicate a direction for sorting where applicable.
- Added 'Range.SortByColumn(string, SortOrder)' and 'Range.SortByColumn(int, SortOrder)' methods, which allow you to sort a range by a specified column and re-arrange the rows of a range according to a specified column's new order.
- Removed dependency to IronDrawing nuget package and replaced it with IronSoftware.System.Drawing.
Fixes
- Fixed a bug where first created ConditionalFormattingRule wasn't working properly.
- Fixed a bug where font color wasn't applied by conditional formatting rule.
- Fixed a bug where duplicate style were created when Cell.FormatString property was changed in .xlsx.
- Fixed a bug where Range.Row(int) and Range.Column(int) methods could take minutes of time to execute for large ranges.
2022.9.8711
Updated Sep 2, 2022
Features
- Adds a dependency to a IronDrawing nuget package to enable implicit casting from System.Drawing.Color.
- Adds a method IronXL.Drawing.Images.Image.ToAnyBitmap() which creates an IronSoftware.Drawing.AnyBitmap object from byte data of The Image object.
- IronXL.dll is now signed.
Fixes
- Fixes a problem with a number of methods which were wrongly obfuscated in previous release.
2022.8.8357
Updated Aug 23, 2022
Features
- Added the ability to encrypt and decrypt ".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.
- Improved support for Microsoft .NET 6.0.
- Removed dependency on System.Common.Drawing.
- Removed 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 has been 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 has been 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.
- Improved 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).
Fixes
- Fixed a bug where a background color set to a cell or a range in XLSX workbook didn't render in Excel.
- Fixed a bug where Thai language locale threw license exception.
- Fixed 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.
2022.7.7362
Updated Jul 13, 2022
Features
- Added the ability to change the string value of a cell without automatically formatting the cell.
- Added AutoSizeRow method which changes the height of a row to fit the contents.
- Added AutoSizeColumn method which changes the width of a column to fit the contents.
Fixes
- Fixed a bug where an exception was thrown, when a border was added or changed.
- Fixed 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".
- Fixed 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.
- Fixed 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.
2022.6.6825
Updated Jun 23, 2022
Features
- Added new IronXL.Formatting.ConditionType.
- Old IronXL.Formatting.Enums.ConditionType is now obsolete.
- Added support for 'Format' as a Table style.
- Improved overall stability when resulting files, both created using IronXL and imported and edited by IronXL files.
- Improved performance generating a file with 10,000 cells.
Fixes
- Fixed a bug where files containing pivot tables were loaded through IronXL then saved and resulting files come out corrupted.
- Fixed a bug where a range was copied and pasted, workbook is saved and resulting file comes out corrupted.
- Fixed a bug where a file containing specific chart types was loaded then saved and resulting file comes out corrupted.
- Fixed a bug where a file containing .bmp images was loaded, but .bmp images could not be reached through code.
- Fixed a bug where a workbook is created containing an arbitrarily large number of used cells, then saved and resulting file comes out corrupted.
- Fixed some other rare bugs that occasionally might result in a corrupted file.
- Fixed 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.
2022.3.0
Updated Mar 10, 2022
Features
- Added Microsoft .NET 6 support.
- Improved speed and stability.