Skip to main content Skip to footer

Spread.NET v17 is Released!

We're excited to announce that Spread.NET V17 has just released with lots of exciting new features. Let's jump right into the enhancements:

Ready to Check Out the Latest Release? Download Spread.NET Today!

Spread Ribbon Control

The Spread Ribbon Control is a new addition to Spread.NET, allowing you to insert the Designer ribbon into your application for use with Spread.NET. This includes contextual ribbon tabs, buttons, menus, and Error Handling. You simply create the ribbon bar instance and attach it to an FpSpread instance:


You can also override built-in commands using the CommandExecuting and CommandExecuted events and manually execute commands using the ExecuteCommand function.

New .NET Spreadsheet Ribbon Control


Workbook Enhancements

Header and Footer WrapText

With this release, Spread.NET provides the ability to wrap text for Column headers and footers with the WrapText2 property.

Wrap .NET spreadsheet header and footer text

Help - Column Header  | Help - Column Footer

Printing Enhancements

Printing has been updated in Spread.NET to include even more features.  These are:

  • Different Header/Footer Printing – Choose how to print headers and footers, like just the first page or odd and even pages.
  • Exporting Print Header/Footer Images – Headers and Footers that have images in them can be exported.  If there are multiple images, only the first image will be exported.
  • Collated/Uncollated Option – This new option lets the user choose whether to print pages as a complete set or multiple copies of each page.
  • Excel-Compatible Printing – Printing behavior can now be changed like Excel, so if it is set to true the printing result will be similar to Excel but not old versions of Spread.NET.  While all behavior will not be exactly the same as Excel, we are continuing to change and add behavior to make it more like Excel.  This also does not support printing to PDF if this option is true.

Saving to HTML

Since .NET and .NET Core were updated, data could not be saved to HTML using the SheetView.SaveHtml function anymore.  As a replacement, this is now supported via the IWorksheet.SaveAs and IWorkbook.SaveAs functions.  These functions let you save the workbook or worksheet in an HTML format.  This is limited to the cell data only.


Built-In Themes

Spread.NET now supports built-in themes similar to Excel. These can be used to change the appearance of a worksheet, including color and font. You can customize themes as well, in addition to saving, editing, and deleting custom colors and fonts for the themes.

New .NET Spreadsheet Built-In Themes - Example uses the Ribbon Control


Office 365 Default Theme 2023

The new default theme for Office 365 has been added to Spread.NET to keep the same look across your applications.

Custom Document Properties

Spread.NET now supports setting custom document properties, including setting properties with a Name, Type, and Value.

Set Custom Document Properties in .NET Spreadsheet


Get Last Row/Column of a Cell Range

The new IRange.End function allows you to get an IRange object representing the cell at the end of a region of cells containing the source range. This is useful for determining the last row or column in which data is set.


ColumnDragMoveCompleting/RowDragMoveCompleting Events

The new ColumnDragMoveCompleting and RowDragMoveCompleting events fire when a user finishes moving a row or column via dragging.

Hide Borders of Spilled Dynamic Array

When using dynamic arrays, an indicator will show where it will spill. With the DynamicArrayRenderer property, you can choose to hide this indicator.


Paste Options for RichClipboard

When the RichClipboard option is set to True, a user can select various pasting types, including:

  • Paste
  • Formulas
  • Formulas & Number Formatting
  • Keep Source Formatting
  • No Borders
  • Keep Source Column Widths
  • Transpose
  • Paste Values
  • Values & Number Formatting
  • Values & Source Formatting
  • Formatting
  • Paste Link
  • Paste as Picture
  • Linked Picture
  • Column Widths
  • Merge Conditional Formatting


GoTo First/Last Sheet

Ctrl-clicking on the next and previous buttons of the tab strip will now navigate to the last or first sheet, respectively.

Go to First or Last worksheets in .NET Spreadsheet UI Component


Copy Method for IWorksheets

The IWorksheets interface now has a Copy method that is used for both copying a cell’s destination/reference sheet and creating a reference state within the copied sheets.


Scrolling Left and Right with Mouse Wheel

Spread.NET now supports scrolling horizontally in a worksheet using Shift+Ctrl+Mouse Wheel.


Calculation Enhancements


The EVALUATE function has been added to Spread.NET. This function allows you to evaluate a text equation as an algebraic equation. This function can only be used within the confines of a Named Range.


IRange.HasSpill API

Spread.NET now includes the IRange.HasSpill API, similar to Excel. This API helps determine whether a cell range includes spilled values or not.


Chart Enhancements

Multi-Level Category Labels

Chart labels now support multiple rows or columns, which can help with chart organization and readability.


Chart Sheet

Chart sheets are a new type of sheet in Spread.NET, which only contains a chart and nothing else. This is only available if the EnhancedShapeEngine property is set to true. This is available through API and also by right-clicking on a sheet tab:

New ChartSheet in .NET Spreadsheet - View only chart data on a single sheet


Embedded Shapes with Charts

Charts now support embedding shapes within them. You can insert a shape in a chart that can be interacted with as normal but is limited by the chart’s boundaries.


Shape Enhancements

Shape with Curve Annotation

Shapes can now be drawn with curved segments. These can done either via code or the ribbon bar. When drawing them manually, they are added when moving and clicking with the mouse and then double-clicking, pressing Enter/Esc, or single-clicking the starting point to finish the shape. Spread.NET support for shape with curve annotation - example using Ribbon Control


Insert Pictures in Cells

Pictures in Spread.NET can now be inserted inside of cells. This is supported via “Paste Picture in Cell” in the Paste Options context menu (when RichClipboard is set to true) and “Insert Pictures in Cells” in the Ribbon Bar.

Insert picture in .NET spreadsheet cell using Ribbon Control


Vertical Text in Shapes

Shapes now support setting vertical text correctly as long as the EnhancedShapeEngine property is set to true. This is done via the TextOrientation.HorizontalRotatedFarEast setting.


.NET 8 Support

Spread.NET now supports .NET 8 with the V17 release.

Shortcut Keys

Spread.NET has supported Excel-compatible shortcut keys, and with the V17 release, we have added support for even more shortcut keys, including:

  • Ctrl + - : Delete Cells
  • Ctrl + F3 : Show Name Manage Dialog
  • Shift + F9 : Calculate the active sheet
  • F9 : Calculate the entire workbook
  • Ctrl + Shift + T : Show/hide total row of a table
  • Ctrl + T : Create table
  • Ctrl + U : Formats text as underline
  • Ctrl + I : Formats text as italic
  • Ctrl + B : Formats text as bold
  • Ctrl + Shift + % : Format text as a percentage
  • Ctrl + Shift + V : Paste plain text or paste values
  • Alt + Shift + Right Arrow : Create an outline group
  • Alt + Shift + Left Arrow : Ungroup

Performance Improvements

The V17 release of Spread.NET has also addressed a few performance issues, including:

  • Lagging when moving focus with an arrow key
  • Calculating cells after set formula/value
  • Recalculation after spilling 500 rows in 400 columns
  • Issues upgrading from older versions
  • INDEX formula references
  • Dynamic array optimization

These are several of the features added to Spread.NET with V17! To try out these features and more, be sure to download a trial of Spread.NET today: Download .NET Spreadsheet | Spread.NET

For more information about these features, you can download the Demos and check out the Documentation.


comments powered by Disqus