Skip to content

Commit 7d82593

Browse files
Update v3.0.0-rc.3
1 parent 27adb80 commit 7d82593

File tree

9 files changed

+144
-41
lines changed

9 files changed

+144
-41
lines changed

Changelog.md

Lines changed: 83 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,108 @@
11
# Change Log
22

3-
## v2.6.3
3+
## v3.0.0-rc.3
44

55
---
6-
Release Date: **XX.YY.2025**
6+
Release Date: **02.12.2025**
77

8+
- Formal changes to enforce displaying target frameworks in NuGet meta package
9+
10+
Note: The version numbers of the dependencies `NanoXLSX.Core`, `NanoXLSX.Reader` and `NanoXLSX.Writer` have not changed with this release. There are also no functional changes
11+
12+
13+
14+
## v3.0.0-rc.2
15+
16+
---
17+
Release Date: **27.11.2025**
18+
19+
- Refactoring of several enums in `NanoXLSX.Core`, `NanoXLSX.Reader` and `NanoXLSX.Writer` from lowercase start to uppercase start for better consistency
20+
21+
22+
# v3.0.0-rc.1
23+
24+
---
25+
Release Date: **25.11.2025**
26+
27+
- Initial release candidate of the NanoXLSX library split into three separate libraries:
28+
- NanoXLSX.Core
29+
- NanoXLSX.Reader
30+
- NanoXLSX.Writer
31+
32+
## v2.6.7
33+
34+
---
35+
Release Date: **01.10.2025**
36+
37+
- Fixed handling of worksheet protection (regression bug)
38+
- Code cleanup
39+
40+
## v2.6.6
41+
42+
---
43+
Release Date: **29.09.2025**
44+
45+
- Fixed handling of worksheet protection (selecting locked or unlocked cells)
46+
- Added test case
47+
48+
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
49+
explicit unlocking of cells that should remain editable
50+
51+
## v2.6.5
52+
53+
---
54+
Release Date: **13.09.2025**
55+
56+
- Added import option to ignore invalid column widths or row heights. Concept provided by pokorny
57+
- Added test case
58+
59+
## v2.6.4
60+
61+
---
62+
Release Date: **19.07.2025**
63+
64+
- Added support for in-line string values (non-formatted). Change provided by Misir
65+
- Added test case
66+
67+
## v2.6.3
68+
69+
---
70+
Release Date: **26.04.2025**
71+
72+
- Fixed a bug that prevented adding new worksheets when a pane split was defined
873
- Changed handling of reading workbooks, when docProps are missing (formal change)
974
- Added test case
1075

11-
## v2.6.2
76+
## v2.6.2
1277

1378
---
1479
Release Date: **24.01.2025**
1580

1681
- Fixed a regression bug in the Cell function ConvertArray
1782
- Added test cases
1883

19-
## v2.6.1
84+
## v2.6.1
2085

2186
---
2287
Release Date: **19.01.2025**
2388

2489
- Fixed a bug on writing default column styles (not persisted in some cases)
25-
- 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
90+
- 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
2691
- Code maintenance
2792

2893
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).
2994

30-
## v2.6.0
95+
## v2.6.0
3196

3297
---
3398
Release Date: **12.01.2025**
3499

35100
- Added InsertRow and InsertColumn functions. Functionality provided by Alexander Schlecht
36-
- Added FirstCewllByValue, FirstOrDefaultCell, CellsByValue functions. Functionality provided by Alexander Schlecht
101+
- Added FirstCellByValue, FirstOrDefaultCell, CellsByValue functions. Functionality provided by Alexander Schlecht
37102
- Added ReplaceCellValue function. Functionality provided by Alexander Schlecht
38103
- Code maintenance
39104

40-
## v2.5.2
105+
## v2.5.2
41106

42107
---
43108
Release Date: **24.11.2024**
@@ -48,13 +113,17 @@ Release Date: **24.11.2024**
48113
- Added tests for column address resolution
49114

50115
## v2.5.1
116+
51117
---
52118
Release Date: **26.10.2024**
119+
53120
- Fixed a bug regarding the determination of the first data cell in an empty worksheet. Bug fix provided by Martin Stránský
54121

55122
## v2.5.0
123+
56124
---
57125
Release Date: **22.07.2024**
126+
58127
- Adapted handling of the font scheme in styles. The scheme is now determined automatically
59128
- Added column option to define a default column style
60129
- Added tests
@@ -66,7 +135,7 @@ Release Date: **21.04.2024**
66135

67136
- Added handling to load workbooks from files asynchronously. Concept provided by John Leyva
68137
- Fixed a bug when loading a workbook asynchronously from a stream. Bug fix provided by John Leyva
69-
- Fixed a bug when the column auto-filter is a single cell address. Bug fix provided by Lukáš Pokorný
138+
- Fixed a bug when the column auto-filter is a single cell address. Bug fix provided by pokorny
70139
- Fixed a bug regarding style enumeration when reading a workbook. Bug fix provided by Martin Stránský
71140
- Added new and adapted existing test cases
72141

@@ -83,7 +152,7 @@ Release Date: **24.02.2024**
83152
---
84153
Release Date: **24.02.2024**
85154

86-
- Fixed a bug when reading min and max values in the GetLastDataColumnNumber function. Bug fix provided by Lukáš Pokorný
155+
- Fixed a bug when reading min and max values in the GetLastDataColumnNumber function. Bug fix provided by pokorny
87156
- Code maintenance
88157

89158
## v2.3.1
@@ -172,7 +241,7 @@ Release Date: **29.09.2022**
172241

173242
Note:
174243

175-
- When defining a custom number format, now the CustomFormatCode property must always be defined as well, since an empty value leads to an invalid Workbook
244+
- When defining a custom number format, now the CustomFormatCode property must always be defined as well, since an empty value leads to an invalid Workbook
176245
- When a cell is now created (by constructor) with the type EMPTY, any passed value will be discarded in this cell
177246

178247
## v2.0.1
@@ -250,7 +319,7 @@ Release Date: **03.09.2022 - Major Release**
250319
- Added global casting import options: AllNumbersToDouble, AllNumbersToDecimal, AllNumbersToInt, EverythingToString
251320
- Added column casting import options: Double, Decimal
252321
- Added global import options: EnforcePhoneticCharacterImport, EnforceEmptyValuesAsString, DateTimeFormat, TemporalCultureInfo
253-
- Added a metadata reader for workbook metadata
322+
- Added a meta data reader for workbook meta data
254323
- All style elements that can be written can also be read
255324
- All workbook elements that can be written can also be read (exception: passwords cannot be recovered)
256325
- All worksheet elements that can be written can also be read (exception: passwords cannot be recovered)
@@ -339,7 +408,7 @@ Release Date: **10.07.2021**
339408
- Fixed the internal representation of column widths and row heights
340409
- Minor code maintenance
341410

342-
Note: The column widths and row heights may change slightly with this release, since now the actual (internal) width and height is applied when setting a non-standard column width or row height
411+
Note: The column widths and row heights may change slightly with this release, since the actual (internal) width and height is now applied when setting a non-standard column width or row height
343412

344413
## v1.7.0
345414

@@ -433,6 +502,7 @@ Release Date: **01.12.2019**
433502

434503
- Fixed a bug of reorganized worksheets (when deleted in Excel)
435504
- Fixed a bug in the handling of shared strings
505+
- Minor code maintenance
436506

437507
## v1.3.3
438508

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"packageName": "NanoXLSX",
3-
"version": "3.0.0-rc.2",
3+
"version": "3.0.0-rc.3",
44
"description": "NanoXLSX is a library to generate and read Microsoft Excel files (XLSX) in an easy and native way. This package is the meta package of NanoXLSX and should be used in most cases as dependency in your project."
55
}

MigrationGuide.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,10 +369,13 @@ ApplicationDefined, ANSI, Default, Symbols, Mac, ShiftJIS, Hangul, Johab, GBK, B
369369
---
370370

371371
### Theme
372+
372373
The `Theme` class was introduced with NanoXLSX v3.0.0 It represents the theme of a workbook, which contains several color schemes and font schemes.
373374
The class can mostly be ignored unless specific stylings are required.
374375
Theme may be references ind Styles, especially in Fonts.
376+
375377
- The enum `Theme.ColorSchemeElement` was introduced to represent the color scheme elements of a theme. The available values are:
378+
376379
```cs
377380
dark1, light1, dark2, light2, accent1, accent2, accent3, accent4, accent5, accent6, hyperlink, followedHyperlink
378381
```

NanoXLSX.Core/Changelog.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Change Log - NanoXLSX.Core
22

3-
## v3.0.0-rc.1
3+
## v3.0.0-rc.2
44

55
---
6-
Release Date: **25.11.2025**
6+
Release Date: **27.11.2025**
77

8-
- Initial release of the core library
8+
- Refactoring of several enums from lowercase start to uppercase start for better consistency
99

10-
## v3.0.0-rc.2
10+
## v3.0.0-rc.1
1111

1212
---
13-
Release Date: **27.11.2025**
13+
Release Date: **25.11.2025**
1414

15-
- Refactoring of several enums from lowercase start to uppercase start for better consistency
15+
- Initial release of the core library

NanoXLSX.Reader/Changelog.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Change Log - NanoXLSX.Reader
22

3-
## v3.0.0-rc.1
3+
## v3.0.0-rc.2
44

55
---
6-
Release Date: **25.11.2025**
6+
Release Date: **27.11.2025**
77

8-
- Initial release of the reader library
8+
- Refactoring of several enums from lowercase start to uppercase start for better consistency
99

10-
## v3.0.0-rc.2
10+
## v3.0.0-rc.1
1111

1212
---
13-
Release Date: **27.11.2025**
13+
Release Date: **25.11.2025**
1414

15-
- Refactoring of several enums from lowercase start to uppercase start for better consistency
15+
- Initial release of the reader library

NanoXLSX.Writer/Changelog.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Change Log - NanoXLSX.Writer
22

3-
## v3.0.0-rc.1
3+
## v3.0.0-rc.2
44

55
---
6-
Release Date: **25.11.2025**
6+
Release Date: **27.11.2025**
77

8-
- Initial release of the writer library
8+
- Refactoring of several enums from lowercase start to uppercase start for better consistency
99

10-
## v3.0.0-rc.2
10+
## v3.0.0-rc.1
1111

1212
---
13-
Release Date: **27.11.2025**
13+
Release Date: **25.11.2025**
1414

15-
- Refactoring of several enums from lowercase start to uppercase start for better consistency
15+
- Initial release of the writer library

NanoXLSX/NanoXLSX.csproj

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet metadata -->
1010
<PackageId>NanoXLSX</PackageId>
11-
<Version>3.0.0-rc.2</Version>
11+
<Version>3.0.0-rc.3</Version>
1212
<Authors>Raphael Stoeckli</Authors>
1313
<Description>NanoXLSX is a library to generate and read Microsoft Excel files (XLSX) in an easy and native way. This package is the meta package of NanoXLSX and should be used in most cases as dependency in your project.</Description>
1414
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
@@ -26,7 +26,7 @@
2626
<PackageReleaseNotes>Please see https://github.com/rabanti-github/NanoXLSX/blob/master/Changelog.md for the release notes</PackageReleaseNotes>
2727
<AssemblyVersion>3.0.0.0</AssemblyVersion>
2828
<FileVersion>3.0.0.0</FileVersion>
29-
<Version>3.0.0-rc.2</Version>
29+
<Version>3.0.0-rc.3</Version>
3030
<PackageLicenseExpression>MIT</PackageLicenseExpression>
3131
<IncludeSymbols>True</IncludeSymbols>
3232
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
@@ -57,7 +57,23 @@
5757
<PropertyGroup>
5858
<DocsProjectName>$(PackageId)</DocsProjectName>
5959
<DocsVersion>$(Version)</DocsVersion>
60-
</PropertyGroup>
60+
</PropertyGroup>
61+
62+
<ItemGroup>
63+
<!-- Placeholder files for lib folders -->
64+
<None Include="_._">
65+
<Pack>true</Pack>
66+
<PackagePath>lib/net45/</PackagePath>
67+
</None>
68+
<None Include="_._">
69+
<Pack>true</Pack>
70+
<PackagePath>lib/netstandard2.0/</PackagePath>
71+
</None>
72+
73+
<!-- Your build props files -->
74+
<None Include="build/net45/NanoXLSX.props" Pack="true" />
75+
<None Include="build/netstandard2.0/NanoXLSX.props" Pack="true" />
76+
</ItemGroup>
6177

6278

6379
<Target Name="GenerateDocsIndex" AfterTargets="Build">

NanoXLSX/_._

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+


README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,20 @@
22

33
# NanoXLSX
44

5-
6-
![nuget](https://img.shields.io/nuget/v/NanoXLSX.svg?maxAge=86400)
7-
![license](https://img.shields.io/github/license/rabanti-github/NanoXlsx.svg)
5+
![NuGet Version](https://img.shields.io/nuget/v/NanoXLSX)
6+
![NuGet Downloads](https://img.shields.io/nuget/dt/NanoXLSX)
7+
![GitHub License](https://img.shields.io/github/license/rabanti-github/NanoXLSX)
88
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Frabanti-github%2FNanoXLSX.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Frabanti-github%2FNanoXLSX?ref=badge_shield)
99

10+
## Pre-Release v3.x
11+
12+
The pre-release of NanoXLSX is now available as [Nuget Package](https://www.nuget.org/packages/NanoXLSX/3.0.0-rc.2), version **3.0.0-rc.3**.
13+
Since there are breaking changes between NanoXLSX v2.x and v3.0.0-rc3, please see the **[Migration guide](MigrationGuide.md)**, to migrate applications from v2 to v3. Please feel free to open issues, in case of problems with the pre-release.
14+
15+
There will be possibly further adaptions and additional pre-releases before the final release.
16+
17+
---
18+
1019
NanoXLSX is a small .NET library written in C#, to create and read Microsoft Excel files in the XLSX format (Microsoft Excel 2007 or newer) in an easy and native way
1120

1221
* **Minimum of dependencies** (\*
@@ -34,7 +43,7 @@ The biggest change is the full capable reader support for workbook, worksheet an
3443
Version 2.x of NanoXLSX was completely overhauled and a high number of (partially parametrized) unit tests with a code coverage of >99% were written to improve the quality of the library.
3544
However, it is not planned as a LTS version. The upcoming v3.x is supposed to introduce some important functions, like in-line cell formatting, better formula handling and additional worksheet features.
3645
Furthermore, it is planned to introduce more modern OOXML features like the SHA256 implementation of worksheet passwords.
37-
One of the main aspects of this upcoming version is a better modularization, as well as the consolidation with PicoXLS to one single code base.
46+
One of the main aspects of this upcoming version is a better modularization, as well as the consolidation with PicoXLSX to one single code base.
3847

3948
## Reader Support
4049

@@ -46,6 +55,7 @@ There are some limitations:
4655
* There are some approximations for floating point numbers. These values (e.g. pane split widths) may deviate from the originally written values
4756
* Numeric values are cast to the appropriate .NET types with best effort. There are import options available to enforce specific types
4857
* No support of other objects than spreadsheet data at the moment
58+
* Due to the potential high complexity, custom number format codes are currently not automatically escaped on writing or un-escaped on reading
4959

5060
## Requirements
5161

@@ -69,6 +79,10 @@ If you want to compile the documentation project (folder: Documentation; project
6979

7080
The .NET version of the documentation may vary, based on the installation. If v4.5 is not available, upgrade to target to a newer version, like v4.6
7181

82+
### Utility dependencies
83+
84+
The Test project and GitHub Actions may also require dependencies like unit testing frameworks or workflow steps. However, **none of these dependencies are essential to build the library**. They are just utilities. The test dependencies ensure efficient unit testing and code coverage. The GitHub Actions dependencies are used for the automatization of releases and API documentation
85+
7286
## Installation
7387

7488
### Using NuGet
@@ -140,7 +154,6 @@ See also: [Getting started in the Wiki](https://github.com/rabanti-github/NanoXL
140154

141155
Hint: You will find most certainly any function, and the way how to use it, in the [Unit Test Project](https://github.com/rabanti-github/NanoXLSX/tree/master/NanoXlsx%20Test)
142156

143-
144-
145157
## License
158+
146159
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Frabanti-github%2FNanoXLSX.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Frabanti-github%2FNanoXLSX?ref=badge_large)

0 commit comments

Comments
 (0)