What's New in Spread.NET v18
Spread.NET v18.1 - April 30, 2025
Spread.NET v18.1 (Service Pack 1) includes several new enhancements to both the Spread WinForms and Spread WPF controls.
Spread Windows Forms Enhancements
Customize the text in Print Preview and Page Setup Dialogs
You can customize and localize the text displayed in the EnhancedPrintPreview and PageSetup dialogs in any language using the FarPoint.Win.Localizer.LocalizeText event.
This example uses the translated Japanese language strings stored in resource files to localize the text in these dialogs:
![]() |
![]() |
Style Storage Optimizations
Spread now allows you to style or format a specified cell range individually without affecting the entire column by using StyleRangeStrict property
Suspend Calculation Optimization
You can now suspend the calculation of formulas while saving/opening a spreadsheet even when the values in dependent cells change by using SuspendCalculation property.
New CellValueCommitError Event
In previous versions, cell editing would stop if there was an error when editing a cell. Now Spread for Winforms provides a new event, CellValueCommitError, which fires if there is an cell editing error that then allows you to continue or stop the cell editing.
Circular References Enhancements
The CircularCellChanged event monitor changes of all circular references in the spreadsheets. This event is triggered when creating, editing, removing the circular references, helping you to deal with situations that may affect formula calculations, for example, helping to identify cells that cause circular calculations.
You can now also get all the circular references of workbook and worksheet using IWorkbook.CircularReferences and IWorksheet.CircularReferences.
.NET 9 Enhancement
Spread’s built-in objects now support binary formatting using DataContractSerializer. This enhancement has resolved the compatibility issue previously encountered with .NET 9, which required adding a reference to the Formatters NuGet package for binary formatting.
Spread WPF Enhancements
Chart Enhancements
Many enhancements have been added to the WPF charts in this 18.1 release. Read on to learn more.
New Surface Chart
A new Surface chart has been introduced, which allows users to plot data on a three-dimensional surface. This is especially useful for analyzing optimal combinations between two data sets. Spread for WPF supports the following types of Surface charts:
Type | Sample | Description |
Surface | ![]() |
Represents a surface chart with a 3-D effect. |
SurfaceTopView | ![]() |
Represents a top-view surface chart. |
SurfaceTopViewWireframe | ![]() |
Represents a top-view surface chart without fill color. |
SurfaceWireframe | ![]() |
Represents a surface chart with a 3D visual effect and no fill color. |
Predefined Chart Styles
All charts include a default style. However, you can also customize the default appearance of the chart by defining and applying a predefined style that meets your specific requirements. There are a wide range of styles available for different charts, for example:
3D Line and Area Charts
The WPF charts now support 3D formats in the Line and Area charts as follows:
Line3D Chart Sample | Description |
![]() |
ChartType.Line3D Represents a 3D line chart. It is used to display a 3D chart demonstration, showing trends over time or categories. It presents data on a third axis, which shows some lines that appear in front of others. |
Area3D Chart Sample | Description |
![]() |
ChartType.Area3D Represents a 3D area chart. It is used to represent the chart demonstration in 3D, which is a modification of 2D area chart. It looks volumetric in appearance. |
![]() |
ChartType.AreaStacked3D Represents a stacked 3D area chart. It is used to represent AreaStacked chart with 3D visual effect, which is a modification of the 2D chart. |
![]() |
ChartType.AreaStacked1003D Represents a 100% stacked 3D area chart. It is used to represent the AreaStacked100 chart with 3D visual effect, which looks volumetric in appearance. |
Pie3D Charts
The Pie Chart 3D data series default line style will now be similar to Excel.
Chart Data Label Supports Shapes
Users can now customize data labels with different shapes, including callout data labels, for better clarity and emphasis.
Chart 3D Wall Thickness
Users can now adjust the thickness of both back and side walls of the 3D charts for better customization.
Sunburst Chart Supports Multi Level Categories
Sunburst chart now supports multiple levels to provide a more detailed and hierarchical representation of data.
Support 3-D Rotation
Spread for WPF now allows you to enhance data visualization with the rotation feature of 3D charts.
Support Text Orientation for DisplayUnits
Improvements have been done to configure the text orientation of display unit labels using the DisplayUnitLabel.Orientation API. It accepts integer values from -90 to 90 degrees to set a specific text angle for the text on the display unit label.
Enable ToolTips Shadows and Rounded Corners in Windows 11
Spread for WPF now allows you to add shadows and rounded corners on ToolTips in Windows 11 to modernize the user experience.
Disable shadows and rounded corners on ToolTips in Windows 11 | Enable shadows and rounded corners on ToolTips in Windows 11 |
![]() |
![]() |
![]() |
![]() |
Suspend Calculation Optimization
You can now suspend the calculation of formulas while saving/opening a spreadsheet even when the values in dependent cells change by using SuspendCalculation property.
Spread.NET v18 - December 5, 2024
Spread.NET v18 includes several great new features to introduce, including a new WPF version, improved PDF saving (with higher resolution), and more.
PDF Export
V18 of Spread WinForms and WPF now supports saving a spreadsheet document to much higher resolution PDF outputs with many of the same behaviors as Excel. This can be achieved in multiple ways:
- Saving a Sheet to PDF
sheet1.SaveAs("d:\\tmp\\Book1.pdf", GrapeCity.Spreadsheet.IO.FileFormat.PDF);
- Saving a Workbook to PDF
book1.SaveAs("d:\\tmp\\Book1.pdf", GrapeCity.Spreadsheet.IO.FileFormat.PDF);
- Printing a PDF
fpSpread1.Features.ExcelCompatiblePrinting = true;
fpSpread1.BorderCollapse = BorderCollapse.Enhanced;
The new PDF export supports Excel-compatible printing and now retains image quality. Some other printing enhancements include:
- RichText support
- Flat Style Mode format
- Image on header/footer
- Shapes with transparent colors
New WPF Spreadsheet Version
With the Spread.NET v18 release, we have introduced an entirely new and improved WPF version of our spreadsheet! This now allows us to continue to enhance the WPF control with many new features for future versions. Some new features introduced with this release include:
- Calculation Enhancements
- External References
- Iterative Calculation
- Asynchronous Functions
- Dynamic Arrays
- New Excel Functions
- Sparkline Functions
- External Variables
- Fields and Rich Value Structures
- New Chart Engine for more Excel Compatible Charts (Data Table, Trendline, etc.)
- Chart Color and Style
- Formula Textbox
- Exchangeable XLSX
- XML Data File Support
- Table Data Binding
- Sorting by colors, icons, etc.
- Removing duplicates
- Excel-like Fill (Gradient, Pattern, Theme Colors)
Copying Skip Invisible Ranges
When copying a range of cells, hidden cells can be excluded from the copy. The RichClipboard property must be set to true, as well as the CopySkipInvisibleRange property:
fpSpread1.Features.RichClipboard = true;
fpSpread1.AsWorkbook().Features.CopySkipInvisibleRange = true;
![]() |
![]() |
Table Auto Update Filter
Spread for WinForms now gives you the ability to change a table’s filter to be updated automatically after a user edits a cell or a data source is changed. This property can be set with the following code:
table.AutoFilter.AutoUpdate = false;
Context Menu without Ribbon Control
In previous releases of , the context menu could only be shown when the ribbon control was being used. With v18, the context menu can now be used without the Ribbon control by simply creating a new SpreadContextMenuStrip instance:
fpSpread1.ContextMenuStrip = new SpreadContextMenuStrip();
Copy Width/Height and Style when Inserting Rows and Columns
Inserting rows and columns into a WinForms spreadsheet now copies the row or column size and style from the previous row or column to the newly inserted one. This is supported via the context menu in both the Designer and at runtime, the ribbon bar, and using Ctrl+Shift+”+”.
Display and Execute Undo/Redo History
The Quick Access Toolbar in the Designer now supports an undo/redo actions history where the action can be executed again or undone. This is achieved by clicking on the Undo/Redo dropdown button in the Quick Access Toolbar:
![]() |
![]() |
Highlight Formulas
The DisplayFormulas property has been enhanced to highlight formulas for the active cell. Simply setting the property to true will enable this:
IWorksheet TestActiveSheet => fpSpread1.AsWorkbook().ActiveSheet;
private void Form1_Load(object sender, EventArgs e)
{
TestActiveSheet.View.DisplayFormulas = true;
TestActiveSheet.Cells["A1"].Value = 1;
TestActiveSheet.Cells["A2"].Formula = "A1";
TestActiveSheet.Cells["A2"].Select();
}
Get Cell Reference from Pointer Location
A new API has been added to get the cell at a specific x,y coordinate in pixels. This can be useful for laying out charts and shapes at specific cell coordinates or getting a cell reference from a specific point. For example, this code would return “B2” and “B21”:
fpSpread1.Height = (int)fpSpread1.ActiveSheet.Rows.Default.Height * 15;
RectangleShape s = new RectangleShape();
s.Size = new System.Drawing.Size(60, 60);
fpSpread1.ActiveSheet.AddShape(s, 1, 1);//B2
RectangleShape s1 = new RectangleShape();
s1.Size = new System.Drawing.Size(60, 60);
fpSpread1.ActiveSheet.AddShape(s1, 20, 1);//B21
Debug.WriteLine(fpSpread1.ActiveSheet.GetCellReference(s.Location.X, s.Location.Y).ToString());
Debug.WriteLine(fpSpread1.ActiveSheet.GetCellReference(s1.Location.X, s1.Location.Y).ToString());
To learn more, be sure to check out our demos and documentation.
Updates for Spread.NET v18
Related Links