Skip to content

Releases: sveinungf/spreadcheetah

v1.27.0

24 Feb 22:22
c35a0d3

Choose a tag to compare

Features

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

v1.26.0

08 Feb 10:09
ca20cf9

Choose a tag to compare

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

21 Dec 09:40
9d74ce6

Choose a tag to compare

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

02 Nov 14:57
0997a4e

Choose a tag to compare

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

14 Sep 20:58
5cbb81f

Choose a tag to compare

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

15 Jun 20:23
a906205

Choose a tag to compare

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

04 May 07:40
e4b466e

Choose a tag to compare

Bug fixes

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

v1.21.0

14 Apr 22:17
017b86d

Choose a tag to compare

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.

v1.20.0

09 Feb 07:59
ca2d1ec

Choose a tag to compare

Features

  • Added overloads of Spreadsheet.AddHeaderRowAsync that takes a collection of header name strings. They can be used for creating header rows without the need to create cell instances first.
  • Added support for Data Validation of DateTime instances. Thanks to @PhilipeRLeal for the contribution!
  • The OverloadResolutionPriority attribute from .NET 9 has been added to Spreadsheet.AddRowAsync. This resolves some possible overload ambiguity problems, and allows for some more uses of collection expressions when calling this method.
  • Arguments for the source generator attributes are now easier to retrieve with reflection. More details in #83. Thanks to @jonsagara for the contribution!
  • Number formats in styles can now be of any length. Previously the length was constrained by the length of the internal buffer.
  • Added an icon for the NuGet package.

Bug fixes

  • Source generator: Warning SPCH1002 (unsupported type for cell value) will no longer be emitted for properties with the ColumnIgnore attribute.

Performance improvements

  • Minor performance improvements related to writing numeric cell values when targeting .NET 8 or later.

Other changes

  • The .NET 7 target of the library has been removed, due to it being out of support since May 2024. The library can still be used on .NET 7, but would now use the .NET 6 target instead of the .NET 7 target.
  • The .NET Standard 2.0 target of the library no longer depends on Microsoft.Bcl.HashCode.

v1.19.0

03 Nov 21:55

Choose a tag to compare

Features

  • Source generator: Support for ignoring properties with the ColumnIgnore attribute (#76). An example can be seen in the wiki.
  • Source generator: Support for specifying cell format on a property with the CellFormat attribute (#43). More details with an example in the wiki.
  • The package now includes a Roslyn analyzer. Previously the source generator itself would emit warnings and errors about incorrect usage (such as combinations of attributes that are not supported), but this is now handled by the Roslyn analyzer instead. This gives the following improvements:
    • Diagnostics (e.g. warnings and errors) will now show up with squiggly lines in e.g. Visual Studio. They will also appear without requiring a solution build.
    • The severity of the diagnostics can now be configured in an .editorconfig file. This should be the preferred way going forward, and for that reason the SuppressWarnings option on the WorksheetRowGenerationOptions attribute is now marked as obsolete.

Bug fixes

  • Fix for invalid code being generated by the source generator if the WorksheetRow attribute type had an indexer.