Repository navigation
Releases
Releases · sveinungf/spreadcheetah
v1.29.0
Features
- Add .NET 11 as a target framework.
- When on .NET 11, all operations on the resulting
Streamare now fully asynchronous (#118). - Add support for more conditional formatting rules (#28). All are created from static methods on
ConditionalFormatRule:DuplicateValues()MatchesFormula(Formula)Values().Between(double, double)Values().NotBetween(double, double)Values().GreaterThan(double)Values().LessThan(double)Values().EqualTo(double)Values().NotEqualTo(double)Values().GreaterThanOrEqualTo(double)Values().LessThanOrEqualTo(double)Values().AboveAverage()Values().BelowAverage()Values().EqualToOrAboveAverage()Values().EqualToOrBelowAverage()Values().StandardDeviationsAboveAverage(int)Values().StandardDeviationsBelowAverage(int)
- Add
HiddenandCollapsedoptions toRowOptions. Thanks to @eroke for the contribution! - Add
OutlineLevelandCollapsedoptions toColumnOptions. Thanks to @ziongh for the contribution!
Other changes
- The .NET 9 target of the library has been removed. The library can still be used on .NET 9, but would now fall back to the .NET 8 target of the library.
v1.28.0
Features
- Initial support for conditional formatting (#28). For now only rules for unique values are supported, but more type of rules will be added in the future. Example in the wiki.
- Formulas can now use the R1C1 notation with
Formula.R1C1(string formula)(#161). Thanks to @SKProCH for the contribution! - Added option
PreserveStringWhitespacetoSpreadCheetahOptionswhich can be used to indicate that whitespace should be retained for readers of the XLSX file (#178). Thanks to @OS-leonardoalmeida for the contribution! - Source generator: Added attribute
DefaultColumnWidth, which can be used on class level to set a default fixed column width for all columns. Example in the wiki.
Bug fixes
- Fixed an issue where the resulting XLSX file could contain duplicate styles.
- Source generator: Using a CellValueConverter with the wrong generic type will now correctly emit error SPCH1007.
Performance improvements
- Reduced allocations of
Styleobjects by having lazily initialized properties. For example, an instance ofBordershould no longer be allocated if you don't use it in your style.
Other changes
- A warning will now be emitted if using the source generator in a project with C# version below 12. In the future the source generator will require C# 12 or later. This will allow for more optimal code to be generated.
- The .NET Standard 2.0 target of the library now depends on an updated version of
Microsoft.Bcl.Memory, resolving a vulnerability issue.
v1.27.0
v1.26.0
Features
- Added support for row grouping (#128). Example in the wiki.
- Added option for setting the style on total row cells in tables (#137). Example in the wiki.
- Added option for setting the color on worksheet tabs (#164). Thanks to @petrushenko for the contribution!
Performance improvements
- Increased performance for handling cells with values of type
long.
v1.25.0
Bug fixes
- Fixed an issue where very long string values containing an XML special character (
&,<,>,', or") could cause the Excel file to become invalid (#154).
Performance improvements
- Increased performance for handling long strings by using
Utf8.FromUtf16to fill a larger part of the internal buffer.
Other changes
- On .NET 10 the library will now use the new async ZIP APIs. More details in #118.
- The .NET 6 target of the library has been removed, due to it being out of support since November 2024. The library can still be used on .NET 6, but would now fall back to the .NET Standard 2.0 target of the library.
v1.24.0
Features
- Added option for showing/hiding gridlines with
WorksheetOptions.ShowGridlines. Thanks to @eroke for the contribution! - Source generator: Added attribute
InferColumnHeaders, which can be used to infer the column headers for all properties, and replace the need for havingColumnHeaderon each property. More details in the wiki.
Performance improvements
- Greatly reduced allocations related to handling styles.
v1.23.0
Features
- Added option for column default width with
WorksheetOptions.DefaultColumnWidth. - Added option for column style with
ColumnOptions.DefaultStyle. Example in the wiki. - Added option for row style with
RowOptions.DefaultStyle(#53). Example in the wiki. - Added option for spreadsheet default font with
SpreadCheetahOptions.DefaultFont(#53). Example in the wiki. - Added
Style.Hyperlinkwhich returns a style with the font color and underline formatting that Excel uses forHYPERLINKformulas. - The source generator now supports creating cells from
Uriproperties. These cells will have aHYPERLINKformula and style.
Bug fixes
- Warning CS1591 will no longer be emitted from code generated by the source generator (#138).
v1.22.0
Features
- The source generator now supports creating cells from
Formulaproperties. - Added two static
Formula.Hyperlinkmethods which simplifies creatingHYPERLINKformulas fromUriobjects.
Bug fixes
- Fix issues with embedded images not appearing as expected in Excel (#122).
v1.21.1
v1.21.0
Features
- Added support for tables (#63). Examples can be seen in the wiki.
- Added support for font underlines (#101).
- The resulting XLSX files can now include some additional metadata (aka "docProps") (#11). These properties can be set on
SpreadCheetahOptions.DocumentProperties. A minimal set of properties are now always included by default to increase compatibility with some other applications that expects them.
Performance improvements
- Significant performance improvements for writing
DateTimecells. Around 2.5x faster execution measured on the benchmark system.