Skip to content

Releases

v1.29.0

Choose a tag to compare

@sveinungf sveinungf released this 12 Nov 07:40
84a9a3c

Features

  • Add .NET 11 as a target framework.
  • When on .NET 11, all operations on the resulting Stream are 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 Hidden and Collapsed options to RowOptions. Thanks to @eroke for the contribution!
  • Add OutlineLevel and Collapsed options to ColumnOptions. 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

Choose a tag to compare

@sveinungf sveinungf released this 02 Jul 21:32
6ff7a57

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 PreserveStringWhitespace to SpreadCheetahOptions which 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 Style objects by having lazily initialized properties. For example, an instance of Border should 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

Choose a tag to compare

@sveinungf sveinungf released this 24 Feb 22:22
c35a0d3

Features

  • Added options for specifying where summary rows/columns appear in outlines (#167). Thanks to @eroke for the contribution!

v1.26.0

Choose a tag to compare

@sveinungf sveinungf released this 08 Feb 10:09
ca20cf9

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

Choose a tag to compare

@sveinungf sveinungf released this 21 Dec 09:40
9d74ce6

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.FromUtf16 to 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

Choose a tag to compare

@sveinungf sveinungf released this 02 Nov 14:57
0997a4e

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 having ColumnHeader on each property. More details in the wiki.

Performance improvements

  • Greatly reduced allocations related to handling styles.

v1.23.0

Choose a tag to compare

@sveinungf sveinungf released this 14 Sep 20:58
5cbb81f

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.Hyperlink which returns a style with the font color and underline formatting that Excel uses for HYPERLINK formulas.
  • The source generator now supports creating cells from Uri properties. These cells will have a HYPERLINK formula and style.

Bug fixes

  • Warning CS1591 will no longer be emitted from code generated by the source generator (#138).

v1.22.0

Choose a tag to compare

@sveinungf sveinungf released this 15 Jun 20:23
a906205

Features

  • The source generator now supports creating cells from Formula properties.
  • Added two static Formula.Hyperlink methods which simplifies creating HYPERLINK formulas from Uri objects.

Bug fixes

  • Fix issues with embedded images not appearing as expected in Excel (#122).

v1.21.1

Choose a tag to compare

@sveinungf sveinungf released this 04 May 07:40
e4b466e

Bug fixes

  • Fix for dates before March 1, 1900 (#115). Thanks to @c-nielson for the contribution!

v1.21.0

Choose a tag to compare

@sveinungf sveinungf released this 14 Apr 22:17
017b86d

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 DateTime cells. Around 2.5x faster execution measured on the benchmark system.