Releases: rabanti-github/NanoXLSX
Release v3.0.0
This is the major release of the version v3.0.0
Changes
Modularization
- Split the monolithic NanoXLSX library into separate NuGet packages: NanoXLSX.Core, NanoXLSX.Reader, NanoXLSX.Writer and the meta-package NanoXLSX
- Introduced a plugin architecture for Reader and Writer modules, allowing custom implementations
- Added external module NanoXLSX.Formatting for in-line cell formatting (rich text), bundled with the meta-package
- The methods
Workbook.Load(...)andWorkbook.LoadAsync(...)were moved toWorkbookReaderin theNanoXLSX.Extensionsnamespace (provided by NanoXLSX.Reader) - Internal reader classes moved from
NanoXLSX.LowLeveltoNanoXLSX.Internal.Readers
Color System
- Introduced new
Colorclass (namespaceNanoXLSX.Colors) supporting RGB, ARGB, indexed, theme, system and auto colors - Changed
Font.ColorValuefromstringtoColor - Removed
Font.ColorThemeproperty (value now handled byFont.ColorValuewhen type isThemeColor) - Changed
Fill.BackgroundColorandFill.ForegroundColorfromstringtoColor - Removed
Fill.IndexedColorproperty (value now part ofColorclass) - Added implicit conversions for colors from strings (ARGB) and integers (indexed color)
Font Redesign
- Changed
Font.Familyfromstringto enumFont.FontFamilyValue - Changed
Font.Charsetfromstringto enumFont.CharsetValue - Changed
Font.VerticalAlignfromFont.VerticalAlignValuetoFont.VerticalTextAlignValue - Added
Baselineas value forVerticalTextAlignValue - Added font properties:
Font.Outline,Font.Shadow,Font.CondenseandFont.Extend - Renamed font constants to PascalCase (e.g.
DEFAULT_FONT_NAMEtoDefaultFontName)
Fill Redesign
- Complete overhaul of the
Fillclass for flexible color definitions including tint support - Changed fill color properties to use the new
Colorclass - Added implicit operators for
Fillcreation from strings and integers - Renamed fill constants and enum values to PascalCase
Worksheet and Workbook
Worksheet.SelectedCellschanged fromRangetoList<Range>with automatic range recalculationWorksheet.SheetProtectionPasswordchanged fromstringtoIPasswordinterface (default:LegacyPassword)Addressstruct properties (Row,Column,Type) are now read-only (immutable)Rangestruct properties (StartAddress,EndAddress) are now read-only (immutable)- Added explicit cast operator for
Addressfrom string and implicit cast operator forRangefrom string - Added
AddCellRangeoverloads acceptingRangeobjects - Removed deprecated methods:
Workbook.AddStyle,Workbook.AddStyleComponent,Workbook.RemoveStyle Workbook.GetMruColors()now returnsIReadOnlyList<Color>- Empty
Workbook.WorkbookMetadatanow returns a default object instead of null
Naming Conventions (Breaking)
- All enum values renamed from camelCase to PascalCase across:
Cell.CellType,Worksheet.SheetProtectionValue,Worksheet.WorksheetPane,Worksheet.SheetViewType,Border.StyleValue,Fill.FillType,Fill.PatternValue,CellXf.HorizontalAlignValue,CellXf.TextBreakValue,CellXf.TextDirectionValue,CellXf.VerticalAlignValue,NumberFormat.FormatRange,NumberFormat.FormatNumber,Font.SchemeValue,Font.VerticalTextAlignValue,Font.UnderlineValue - All public constants renamed from UPPER_SNAKE_CASE to PascalCase across
Worksheet,Font,Border,Fill,CellXf,NumberFormat
Reader
ImportOptionsrenamed toReaderOptionsEnforceValidColumnDimensionsandEnforceValidRowDimensionscombined intoEnforceStrictValidation- Removed
ImportOptions.GlobalType.AllSingleToDecimal(useReaderOptions.GlobalType.AllNumbersToDecimal) - Newline handling normalized: all newlines in string cell values are now
\nonly
Utils
- General
Utilsclass split intoDataUtils,ParserUtilsandValidatorsin namespaceNanoXLSX.Utils Utils.GeneratePasswordHashmoved toLegacyPassword.GenerateLegacyPasswordHash- Constants moved to
NanoXLSX.Utils.Constants
Misc
- Introduced
Themeclass for workbook theme representation - All (s)RGB values are automatically validated and cast to uppercase
- Improved Cell constructor behavior:
EMPTYtype discards any passed value - Added
ThemeColorconstructor by index - Various bug fixes and optimizations from RC releases
See the Migration Guide for detailed instructions on migrating from v2.x to v3.0.0.
Content
-
The release libraries (DLLs) for .NET 4.5 and .NET Standard 2.0
- NanoXLSX (meta package)
- NanoXLSX.Core
- NanoXLSX.Writer
- NanoXLSX.Reader
- NanoXLSX.Formatting
-
The debug libraries and XML documentation (DLLs) for .NET 4.5 and .NET Standard 2.0
- NanoXLSX (meta package)
- NanoXLSX.Core
- NanoXLSX.Writer
- NanoXLSX.Reader
- NanoXLSX.Formatting
The NuGet packages can be found at:
Release v2.6.7
This is the release of the version v2.6.7
Changes
- Fixed handling of worksheet protection (regression bug)
- Code cleanup
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.6
This is the release of the version v2.6.6
Changes
- Fixed handling of worksheet protection (selecting locked or unlocked cells)
- Added test case
Note: The default value of Style.CurrentCellXf.Locked is now true, to be consistent with Excel behavior. This change only affects worksheets with protection enabled and may require
explicit unlocking of cells that should remain editable
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.5
This is the release of the version v2.6.5
Changes
- Added import option to ignore invalid column widths or row heights. Concept provided by pokorny
- Added test case
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.4
This is the release of the version v2.6.4
Changes
- Added support for in-line string values (non-formatted). Change provided by Misir
- Added test case
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.3
This is the release of the version v2.6.3
Changes
- Fixed a bug that prevented adding new worksheets when a pane split was defined
- Changed handling of reading workbooks, when docProps are missing (formal change)
- Added test case
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.2
This is the release of the version v2.6.2
Changes
- Fixed a regression bug in the Cell function ConvertArray
- Added test cases
Note: The color values of Border styles are handled identical on writing XLSX files, either if null or empty. The change of the reader behavior was to enforce the "What You Can Write Is What You Can Read" policy of the library (writing an empty string as color value should lead to an empty string on read).
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
v2.6.1
This is the release of the version v2.6.1
Changes
- Fixed a bug on writing default column styles (not persisted in some cases)
- Adapted style reader: When a workbook is loaded, not defined color values of Border styles are now empty strings (were null), as if a new style is created
- Code maintenance
Note: The color values of Border styles are handled identical on writing XLSX files, either if null or empty. The change of the reader behavior was to enforce the "What You Can Write Is What You Can Read" policy of the library (writing an empty string as color value should lead to an empty string on read).
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.6.0
This is the release of the version v2.6.0
Changes
- Added InsertRow and InsertColumn functions. Functionality provided by Alexander Schlecht
- Added FirstCewllByValue, FirstOrDefaultCell, CellsByValue functions. Functionality provided by Alexander Schlecht
- Added ReplaceCellValue function. Functionality provided by Alexander Schlecht
- Code maintenance
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX
Release v2.5.2
This is the release of the version v2.5.2
Changes
- Fixed a bug of the column address (letter) resolution. Column letters above 'Z' were resolved incorrectly
- Changed async handing of the workbook reader, to avoid deadlocks. Change provided by Jarren Long
- Simplified project structure (unified .Net 4.x and Standard). Change provided by Jarren Long
- Added tests for column address resolution
Content
- The release library (dll) for .NET 4.5 and .NET Standard 2.0
- The debug library and XML documentation (dll) for .NET 4.5 and .NET Standard 2.0
- The help file (chm)
The NuGet package can be found https://www.nuget.org/packages/NanoXLSX