Spire.XLS for .NET

  • Overview
  • Features
  • Examples
  • Guideline
  • Support
  • What's New
  • Live Demo

Spire.XLS for .NET is a powerful and standalone Excel API designed for developers to create, read, write, convert, and print Excel files in any .NET-based application—including C#, VB.NET, ASP.NET, .NET Core, Mono, and Xamarin.iOS. It eliminates the need for Microsoft Office or Excel to be installed, making it ideal for both desktop and web development scenarios.

With support for Excel 97–2003 (.xls) and Excel 2007+ formats (.xlsx, .xlsb, .xlsm), as well as OpenOffice (.ods), Spire.XLS delivers broad compatibility and high performance. It is widely used by financial institutions, government agencies, and enterprise software providers for its reliability, scalability, and ease of integration into existing systems.

  • Convert

  • Export

  • Validate

  • Formula

  • Manage

  • Chart

  • Pivot Table

  • Merge

Convert

Convert Excel to PDF, HTML, CSV, image, XML, and more with high fidelity.

  • 20+ output formats
  • Fast and accurate conversion
  • Preserve charts, styles, formulas

Export

Generate Excel reports from data or templates, and export to file, stream or HTTP response.

  • Template support & data binding
  • Workbook protection & encryption
  • Digital signatures, revision tracking

Validate

Ensure accurate input with data validation, filtering, and conditional formatting tools.

  • Dropdowns & input rules
  • Cell-level filtering
  • Visual cues for invalid data

Formula

Insert and evaluate formulas and functions at runtime using Spire.XLS’s formula engine.

  • Excel 97–2019 function support
  • Conditional formatting
  • Merge & format cells

Manage

Programmatically control worksheets: rename, move, hide, freeze panes, and more.

  • Insert or delete worksheets
  • Setup page breaks & headers
  • Transpose & copy content

Chart

Add various chart types to create visual Excel dashboards from data.

  • Pie, Column, Line, Waterfall charts
  • Pivot charts and slicers
  • Hyperlinks and template reuse

Pivot Table

Create and manipulate pivot tables to summarize, analyze, explore, and present Excel data.

  • Dynamic pivot table generation
  • Group, filter, and sort data easily
  • Connect with external data sources

Merge

Combine multiple Excel files, worksheets or data tables into one document.

  • Merge by sheet or range
  • Preserve original formatting
  • Cross-file content transfer

.NET

Standalone .NET API

100% independent .NET Excel class library which doesn't require Microsoft Office to be installed on system.

  • .NET Framework
  • .NET CORE
  • Xamarin
  • Microsoft Azure

VERSION

  • Excel 97-2003
  • Excel 2007
  • Excel 2010
  • Excel 2013
  • Excel 2016
  • Excel 2019
  • OpenOffice

Why Choose Spire.XLS for .NET to Work with Excel Files?

A powerful Excel library for .NET — discover six reasons developers love it:

100% Standalone .NET Library

Works without Microsoft Excel or Office Automation. Just reference the DLL and start coding.

Priority Technical Support

Receive fast and professional support through a dedicated channel, with priority response and guidance to help solve integration issues.

Comprehensive Excel Features

Create, edit, and read Excel files with complex formulas, charts, pivot tables, data validation, and more.

Strong Documentation & Sample Codes

Comprehensive demo projects and code samples for easier Excel feature integration.

Export to PDF, HTML, and Image

Convert Excel worksheets into high-quality PDFs, web pages, or images with accurate layout.

Supports .NET Framework and .NET Core

Compatible with .NET Framework, .NET Core, and .NET 9.0 — easy to integrate across platforms.

Excel Operations in .NET Made Easy

Perform advanced Excel tasks without Microsoft Office.

  • Load and Save Excel Files or Streams

  • Insert and Manage Images, Shapes, and Icons

  • Find, Replace, and Highlight Excel Content

  • Work with Pivot Tables for Data Analysis

  • Add or Remove Hyperlinks in Cells

  • Apply Conditional Formatting Rules

  • Customize Headers, Footers, and Page Settings

  • Merge, Split, or Combine Cells and Worksheets

  • Use and Evaluate Excel Formulas

  • Configure Printing and Page Breaks

  • Import and Export Data (CSV, XML formats)

  • Manage Cell Comments and Notes

  • Track Changes and Workbook

  • Add Text or Image Watermarks

  • Protect, Encrypt, and Decrypt Excel Files

Conversion File Documents with High Quality

TEXT XPS SVG XML
PDF UOS Postscript
Image
Arrow Down
PNG BMP JPEG EMF TIFF
Arrow to Excel
Excel Icon

XLSX, XLSM, XLSB, ODS

Arrow to Excel
Arrow to Excel
CSV HTML
Chart Excel

Pro Edition $999

Spire.XLS Pro Edition supports converting files from Excel to PDF, HTML, Excel to CSV, Excel to Text, Excel to Image and Excel to XML(the Excel can be either .XLS or .XLSX) and it is included in Spire.XLS Pack.

Buy Now

Standard Edition $799

Spire.XLS for .NET Standard Edition only can be used for .NET and doesn't support print and conversion function.Standard Edition doesn't work on .NET Core.

Buy Now

Free Edition $0

Free version is limited to 5 sheets per workbook and 200 rows per sheet. It doesn't support the print function. When converting Excel files to other formats, such as you can only get the first 3 pages of PDF/XPS, and you can only convert first 3 sheets to Images.

Download

GET STARTED

Free Trials for All Advanced Solutions

Platforms

Spire.XLS for .NET enables developers/programmers to build ASP.NET, Web Services, WinForms or any other type of application for any .NET Framework version from 2.0 to 4.5, .NET 5.0, .NET 6.0, .NET core, .NET Standard, MonoAndroid and Xamarin.iOS. Full support for 32-bit and 64-bit system.

File Format Supports

Spire.XLS for .NET supports lots of file formats.
  • Spire.XLS for .NET offers support both for the old Excel 97-2003 format (.xls) and for the new Excel 2007, Excel 2010, Excel 2013, Excel 2016 and Excel 2019 (.xlsx, .xlsb, .xlsm), along with Open Office(.ods) format.
  • Save as HTML is available.
  • Load and save documents in the tab delimited file format.
  • Comprehensive support of the CSV format to interact with a variety of applications.
  • Easily extract text by saving in plain text format.

Conversion

Spire.XLS for .NET has powerful conversion ability and it enables converting Excel files to most common and popular formats.

Contents Features

Spire.XLS for .NET offers a wide range of features and the main features are listed as below:

Formatting Features

Spire.XLS for .NET provides detailed programmatic access to formatting properties of all spreadsheet elements.
  • Apply all characters formatting in the cells including fonts, colors, effects, fill and shading.
  • Apply all the Number Format Settings (supported in MS Excel) for the cells.
  • Set all types of Text Alignment settings.
  • Apply different kinds of Font Settings for the cells.
  • Apply different Colors to Cells, Fonts, Gridlines, Graphic objects etc.
  • Apply different Rich Text formatting in a single cell.
  • Apply different Border Settings on cells.
  • Apply different Background Patterns on cells.
  • Apply gradient Background Patterns on cells.
  • Apply Format Settings on a Worksheet, Row, Column or a range of cells etc.

Page Setup Features

Spire.XLS for .NET enables developers/programmers to set PageSetup options.
  • Adjust your page orientation, scaling, paper size.
  • Specify your margins and page centering.
  • Create or edit your header and/or footer with image.
  • Set print area, print titles, or turn on gridlines etc
  • Managing Page Breaks

Feature Details

Support Excel97~2003 Excel2007 Excel2010 Excel2013 Excel2016
Operation Create New Workbook Edit Existing Workbook
Save to file Save to stream Save as web response
Workbook Properties Setup Worksheet Print Setup
Worksheet Copy Cells Data Copy Cells Styles Copy Cells Merge
Lock Worksheet Unlock Worksheet
Data Table Import Data Table Export
Freezepane Group
Filter Data Validation
Marker Designer Template Auto Populate Style Copy Variables
Format Cells Number Format Text Alignment Font
Cell Border Cell Fill Cell Protection Interior
Content Formula (all 531 entries supported) Chart (all 74 types supported)
Image Pivot Table RichText
Hyperlink Comments VBA
Convert XML Image CSV Text
Not supported in Standard Edition
Request free customized demo just for you.

High Quality Conversion

Convert Excel to PDFTutorials / Live Demo / Orginial Excel and PDF file

Convert Excel to PDF

Convert Excel to HTMLTutorials / Live Demo / Orginial Excel and HTML file

Convert Excel to HTML

Convert Excel to ImageTutorials / Orginial Excel and Image file

Convert Excel to Image

Convert Excel to XPSTutorials / Orginial Excel and XPS file

Convert Excel to Image

Excel Chart

Excel ChartTutorials / Live Demo / C# Code

Excel Chart

Marker Designer

Marker DesignerTutorials / Live Demo / C# Code

Marker Designer

Data Import/Export

Import Excel from DataTableTutorials / Live Demo / C# Code

Import Excel from DataTable

Export Excel to DataTableTutorials / Live Demo / C# Code

Export Excel to DataTable

Runtime Excel Calculation

Runtime Excel CalculationTutorials / Live Demo / C# Code

Runtime Excel Calculation

Create Excel Pivot Table

Create Excel Pivot TableTutorials / Live Demo / C# Code

Runtime Excel Calculation

Beginners Guide is the first step towards learning the basic information of Spire.XLS for .NET

Program Guide lists the detailed features of our Spire.XLS for .NET and you can search for the information you want.

The Videos give an operation guide by video. You can check the produce step by step.

Main Functions contain the main features of our Spire.XLS for .NET and you can have brief information of it.

Frequently asked question for Spire.XLS of technical and function issues.

We guarantee one business day Forum questions Reply.

We guarantee one business day E-mail response.

Free Customized service for OEM Users.

Skype name: iceblue.support

Apply for a Free Trial License File.

To help you get started quickly, we offer free customized demos to our customers. Please contact support@e-iceblue.com for the free demo. Make sure the demo you want meets the below requirements.
  • It relates to our components stored on E-iceblue online store.
  • It costs less than 2 hours for us to complete it. If it costs more than 2 hours, please contact our sales@e-iceblue.com

If you have tried out Spire.XLS and found it useful, please consider sharing your experience with others. By sharing your testimonial with us, you will not only help others to make the right decision but will also to earn rewards from us. Please send your testimonials to sales@e-iceblue.com.

This is the list of changelogs of Spire.XLS New release and hotfix. You can get the detail information of each version's new features and bug solutions.

Download Spire.XLS to start a free trial:

Hotfix Version: 15.4.0

Category ID Description
New feature SPIREXLS-5695 Supports the RANK.AVG formula.
workbook.Worksheets[0].Range["E9"].Formula = "=RANK.AVG(10,A1:A6)";
New feature SPIREXLS-5696 Supports the RANK.EQ formula.
//Default descending order
workbook.Worksheets[0].Range["E9"].Formula = "=RANK.EQ(10,A1:A6)";
New feature SPIREXLS-5722 Supports the PERCENTILE.INC formula.
workbook.Worksheets[0].Range["D2"].Formula = "=PERCENTILE.INC(\"\", 0.3)";
New feature SPIREXLS-5723 Supports the PERCENTILE.EXC formula.
workbook.Worksheets[0].Range["D2"].Formula = "=PERCENTILE.EXC(\"\", 0.3)";
New feature SPIREXLS-5729 Supports the BINOM.DIST formula.
workbook.Worksheets[0].Range["D2"].Formula = "=BINOM.DIST(A7, A11, A12, FALSE)";
New feature SPIREXLS-5730 Supports the BINOM.INV formula.
workbook.Worksheets[0].Range["D2"].Formula = "=BINOM.INV(A7, A12, A13)";
New feature SPIREXLS-5734 Supports the NEGBINOM.DIST formula.
workbook.Worksheets[0].Range["C10"].Formula = "=NEGBINOM.DIST(10,5,1,TRUE)";
New feature SPIREXLS-5738 Supports the BINOM.DIST.RANGE formula.
workbook.Worksheets[0].Range["C6"].Formula = "=BINOM.DIST.RANGE(10, 2, 5)";
New feature SPIREXLS-5739 Supports the BETA.DIST formula.
workbook.Worksheets[0].Range["C7"].Formula = "=BETA.DIST(3, 0, 5, TRUE, 1, 5)";
New feature SPIREXLS-5740 Supports the BETA.INV formula.
workbook.Worksheets[0].Range["C7"].Formula = "=BETA.INV(0.685470581, 8, -1, 1, 3)";
New feature SPIREXLS-5742 Supports the ROUNDBANK formula.
workbook.Worksheets[0].Range["B3"].Formula = "=ROUNDBANK(1245585, -1)";
New feature SPIREXLS-5743 Supports the GAMMA formula.
workbook.Worksheets[0].Range["B3"].Formula =  "=GAMMA(ss)";
New feature SPIREXLS-5744 Supports the GAMMA.DIST formula.
workbook.Worksheets[0].Range["B10"].Formula = "=GAMMA.DIST(10.0001131, 9, 0, TRUE)";
New feature SPIREXLS-5745 Supports the GAMMA.INV formula.
workbook.Worksheets[0].Range["B10"].Formula = "=GAMMA.INV(0.068094, 0, 2)";
New feature SPIREXLS-5748 Supports the TAKE formula.
workbook.Worksheets[0].Range["J16"].Formula = "=TAKE(A1:F6,3)";
New feature SPIREXLS-5751 Supports the HSTACK formula.
workbook.Worksheets[0].Range["G26"].Formula = "=HSTACK(E1:F7,G1:G6)";
Bug SPIREXLS-5653 Fixes the issue where content was not fully displayed when converting Excel to PDF.
Bug SPIREXLS-5706 Fixes the issue where the program threw an "ArgumentOutOfRangeException" when loading Excel documents.
Bug SPIREXLS-5713 Fixes the issue where incorrect data was generated when converting Excel to PDF.
Bug SPIREXLS-5716 Fixes the issue where charts were incorrect when converting Excel to PDF.
Bug SPIREXLS-5719 Fixes the issue where content was stretched when converting Excel to PDF.
Bug SPIREXLS-5721 Fixes the issue where the structure protection password was lost when saving Excel documents.
Bug SPIREXLS-5735 Fixes the issue where setting FormatConditionType.ColorScale had no effect or produced incorrect results.
Bug SPIREXLS-5749 Improves behavior to prevent throwing "InvalidOperationException: Cannot find font installed on the system" when no fonts are available on the system.

Hotfix Version: 15.3

'
Category ID Description
New feature - Added support for creating slicer using table data.
Workbook wb = new Workbook();
Worksheet worksheet = wb.Worksheets[0];
worksheet.Range["A1"].Value = "fruit";
worksheet.Range["A2"].Value = "grape";
worksheet.Range["A3"].Value = "blueberry";
worksheet.Range["A4"].Value = "kiwi";
worksheet.Range["A5"].Value = "cherry";
worksheet.Range["A6"].Value = "grape";
worksheet.Range["A7"].Value = "blueberry";
worksheet.Range["A8"].Value = "kiwi";
worksheet.Range["A9"].Value = "cherry";

worksheet.Range["B1"].Value = "year";
worksheet.Range["B2"].Value2 = 2020;
worksheet.Range["B3"].Value2 = 2020;
worksheet.Range["B4"].Value2 = 2020;
worksheet.Range["B5"].Value2 = 2020;
worksheet.Range["B6"].Value2 = 2021;
worksheet.Range["B7"].Value2 = 2021;
worksheet.Range["B8"].Value2 = 2021;
worksheet.Range["B9"].Value2 = 2021;

worksheet.Range["C1"].Value = "amount";
worksheet.Range["C2"].Value2 = 50;
worksheet.Range["C3"].Value2 = 60;
worksheet.Range["C4"].Value2 = 70;
worksheet.Range["C5"].Value2 = 80;
worksheet.Range["C6"].Value2 = 90;
worksheet.Range["C7"].Value2 = 100;
worksheet.Range["C8"].Value2 = 110;
worksheet.Range["C9"].Value2 = 120;

// Get slicer collection
XlsSlicerCollection slicers = worksheet.Slicers;

//Create a super table with the data from the specific cell range.
IListObject table = worksheet.ListObjects.Create("Super Table", worksheet.Range["A1:C9"]);

int count = 3;
int index = 0;
foreach (SlicerStyleType type in Enum.GetValues(typeof(SlicerStyleType)))
{
	count += 5;
	//Add a Slicer through table data : here invoke Add(IListObject, string, int) api.
	String range = "E" + count;
	index = slicers.Add(table, range.ToString(), 0);

	//Style setting
	XlsSlicer xlsSlicer = slicers[index];
	xlsSlicer.Name = "slicers_" + count;
	xlsSlicer.StyleType = type;
}

//Save to file
wb.SaveToFile("output.xlsx", ExcelVersion.Version2013);
New feature - Added support for creating slicer using pivot table data.
Workbook wb = new Workbook();
Worksheet worksheet = wb.Worksheets[0];
worksheet.Range["A1"].Value = "fruit";
worksheet.Range["A2"].Value = "grape";
worksheet.Range["A3"].Value = "blueberry";
worksheet.Range["A4"].Value = "kiwi";
worksheet.Range["A5"].Value = "cherry";
worksheet.Range["A6"].Value = "grape";
worksheet.Range["A7"].Value = "blueberry";
worksheet.Range["A8"].Value = "kiwi";
worksheet.Range["A9"].Value = "cherry";

worksheet.Range["B1"].Value = "year";
worksheet.Range["B2"].Value2 = 2020;
worksheet.Range["B3"].Value2 = 2020;
worksheet.Range["B4"].Value2 = 2020;
worksheet.Range["B5"].Value2 = 2020;
worksheet.Range["B6"].Value2 = 2021;
worksheet.Range["B7"].Value2 = 2021;
worksheet.Range["B8"].Value2 = 2021;
worksheet.Range["B9"].Value2 = 2021;

worksheet.Range["C1"].Value = "amount";
worksheet.Range["C2"].Value2 = 50;
worksheet.Range["C3"].Value2 = 60;
worksheet.Range["C4"].Value2 = 70;
worksheet.Range["C5"].Value2 = 80;
worksheet.Range["C6"].Value2 = 90;
worksheet.Range["C7"].Value2 = 100;
worksheet.Range["C8"].Value2 = 110;
worksheet.Range["C9"].Value2 = 120;

// Get pivot table collection
Spire.Xls.Collections.PivotTablesCollection pivotTables = worksheet.PivotTables;

//Add a PivotTable to the worksheet
CellRange dataRange = worksheet.Range["A1:C9"];
PivotCache cache = wb.PivotCaches.Add(dataRange);

//Cell to put the pivot table
Spire.Xls.PivotTable pt = worksheet.PivotTables.Add("TestPivotTable", worksheet.Range["A12"], cache);

//Drag the fields to the row area.
PivotField pf = pt.PivotFields["fruit"] as PivotField;
pf.Axis = AxisTypes.Row;
PivotField pf2 = pt.PivotFields["year"] as PivotField;
pf2.Axis = AxisTypes.Column;

//Drag the field to the data area.
pt.DataFields.Add(pt.PivotFields["amount"], "SUM of Count", SubtotalTypes.Sum);

//Set PivotTable style
pt.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium10;

pt.CalculateData();

//Get slicer collection
XlsSlicerCollection slicers = worksheet.Slicers;

//Add a Slicer through pivot table data: here invoke Add(IPivotTable, string, int) api.
int index = slicers.Add(pt, "E12", 0);

XlsSlicer xlsSlicer = slicers[index];
xlsSlicer.Name = "test_xlsSlicer";
xlsSlicer.Width = 100;
xlsSlicer.Height = 120;
xlsSlicer.StyleType = SlicerStyleType.SlicerStyleLight2;
xlsSlicer.PositionLocked = true;

//Get SlicerCache object of current slicer
XlsSlicerCache slicerCache = xlsSlicer.SlicerCache;
slicerCache.CrossFilterType = SlicerCacheCrossFilterType.ShowItemsWithNoData;

//Style setting
XlsSlicerCacheItemCollection slicerCacheItems = xlsSlicer.SlicerCache.SlicerCacheItems;
XlsSlicerCacheItem xlsSlicerCacheItem = slicerCacheItems[0];
xlsSlicerCacheItem.Selected = false;

XlsSlicerCollection slicers_2 = worksheet.Slicers;

IPivotField r1 = pt.PivotFields["year"];
int index_2 = slicers_2.Add(pt, "I12", r1);

XlsSlicer xlsSlicer_2 = slicers[index_2];
xlsSlicer_2.RowHeight = 40;
xlsSlicer_2.StyleType = SlicerStyleType.SlicerStyleLight3;
xlsSlicer_2.PositionLocked = false;

//Get SlicerCache object of current slicer
XlsSlicerCache slicerCache_2 = xlsSlicer_2.SlicerCache;
slicerCache_2.CrossFilterType = SlicerCacheCrossFilterType.ShowItemsWithDataAtTop;

//Style setting
XlsSlicerCacheItemCollection slicerCacheItems_2 = xlsSlicer_2.SlicerCache.SlicerCacheItems;
XlsSlicerCacheItem xlsSlicerCacheItem_2 = slicerCacheItems_2[1];
xlsSlicerCacheItem_2.Selected = false;
pt.CalculateData();

//Save to file
wb.SaveToFile("out.xlsx", ExcelVersion.Version2013);
New feature - Added support for removing slicer.
Workbook wb = new Workbook();
wb.LoadFromFile(inputFile);
//Get slicer collection of first worksheet 
Worksheet worksheet = wb.Worksheets[0];
XlsSlicerCollection slicers = worksheet.Slicers;
//Remove the first slicer by index
slicers.RemoveAt(0);
Worksheet worksheet_2 = wb.Worksheets[1];
//Remove all slicers
worksheet_2.Slicers.Clear();
wb.SaveToFile(outputFile, ExcelVersion.Version2013);
New feature - Added support for modifying slicer.
Workbook wb = new Workbook();
wb.LoadFromFile("in.xlsx");

//Get the first worksheet of workbook
Worksheet worksheet = wb.Worksheets[0];

//Get slicer collection
XlsSlicerCollection slicers = worksheet.Slicers;

//Style setting
XlsSlicer xlsSlicer = slicers[0];

xlsSlicer.StyleType = SlicerStyleType.SlicerStyleDark4;
xlsSlicer.Caption = "Slicer";
xlsSlicer.PositionLocked = true;

XlsSlicerCacheItemCollection slicerCacheItems = xlsSlicer.SlicerCache.SlicerCacheItems;
XlsSlicerCacheItem xlsSlicerCacheItem = slicerCacheItems[0];
xlsSlicerCacheItem.Selected = false;
string displayValue = xlsSlicerCacheItem.DisplayValue;

//Get SlicerCache object of current slicer
XlsSlicerCache slicerCache = xlsSlicer.SlicerCache;
slicerCache.CrossFilterType = SlicerCacheCrossFilterType.ShowItemsWithNoData;

//Save to file
wb.SaveToFile("out.xlsx", ExcelVersion.Version2013);
New feature - Added support for retrieving slicer information.
Workbook wb = new Workbook();
wb.LoadFromFile("in.xlsx");
//Get slicer collection of first worksheet 
Worksheet worksheet = wb.Worksheets[0];

XlsSlicerCollection slicers = worksheet.Slicers;
StringBuilder builder = new StringBuilder();
builder.AppendLine("slicers.Count:" + slicers.Count);

XlsSlicer xlsSlicer = slicers[1];

builder.AppendLine("xlsSlicer.Name:" + xlsSlicer.Name);
builder.AppendLine("xlsSlicer.Caption:" + xlsSlicer.Caption);
builder.AppendLine("xlsSlicer.NumberOfColumns:" + xlsSlicer.NumberOfColumns);
builder.AppendLine("xlsSlicer.ColumnWidth:" + xlsSlicer.ColumnWidth);
builder.AppendLine("xlsSlicer.RowHeight:" + xlsSlicer.RowHeight);
builder.AppendLine("xlsSlicer.ShowCaption:" + xlsSlicer.ShowCaption);
builder.AppendLine("xlsSlicer.PositionLocked:" + xlsSlicer.PositionLocked);
builder.AppendLine("xlsSlicer.Width:" + xlsSlicer.Width);
builder.AppendLine("xlsSlicer.Height:" + xlsSlicer.Height);

//Get SlicerCache object of current slicer
XlsSlicerCache slicerCache = xlsSlicer.SlicerCache;

builder.AppendLine("slicerCache.SourceName:" + slicerCache.SourceName);
builder.AppendLine("slicerCache.IsTabular:" + slicerCache.IsTabular);
builder.AppendLine("slicerCache.Name:" + slicerCache.Name);

XlsSlicerCacheItemCollection slicerCacheItems = slicerCache.SlicerCacheItems;
XlsSlicerCacheItem xlsSlicerCacheItem = slicerCacheItems[1];


builder.AppendLine("xlsSlicerCacheItem.Selected:" + xlsSlicerCacheItem.Selected);

File.WriteAllText("out.txt", builder.ToString());
wb.Dispose();
New feature SPIREXLS-5302 Added support for modifying the names of slicer.
Workbook wb = new Workbook();
wb.LoadFromFile(inputFile);            
Worksheet worksheet = wb.Worksheets[0];            
XlsSlicerCollection slicers = worksheet.Slicers;           
XlsSlicer xlsSlicer = slicers[0];
xlsSlicer.Caption = "Name1";            
wb.SaveToFile(outputFile, ExcelVersion.Version2013);
Bug SPIREXLS-1922
SPIREXLS-5641
Fixed the issue of missing slicers when converting Excel to PDF.

Hotfix Version: 15.2.3

Category ID Description
New feature SPIREXLS-568 Supports preserving the original format in the ExportDataTable() function.
ExportTableOptions op = new ExportTableOptions();
op.ExportColumnNames = true;
op.KeepDataType = true;
var r = sheet.Range["A1:M7"]; 
New feature SPIREXLS-5539 Supports the MUNIT function.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["C2"].Formula = "=MUNIT(5)";
workbook.Worksheets[0].Range["C8"].Formula = "=MUNIT(0)";
workbook.Worksheets[0].Range["A1"].Formula = "=FLOOR.PRECISE(3.2)";
workbook.Worksheets[0].Range["D1"].Formula = "CSC(-2)";
workbook.Worksheets[0].Range["A3"].Formula = "=IMCSCH(\"4 + 3i\")";
workbook.CalculateAllValue();
New feature SPIREXLS-5540 Supports the FLOOR function.
New feature SPIREXLS-5541 Supports the PRECISE function.
New feature SPIREXLS-5681 Supports the CSC function.
New feature SPIREXLS-5682 Supports the IMCOSH function.
New feature SPIREXLS-5683 Supports the IMSINH function.
New feature SPIREXLS-5684 Supports the IMSECH function.
Bug SPIREXLS-5674 Fixes the issue that document opening errors occurred when setting the language region to "Hungarian".
Bug SPIREXLS-5675 Fixes the issue that Japanese characters were converted to English characters after updating the pivot table.
Bug SPIREXLS-5680 Fixes the issue that the date format was inconsistent after converting a sheet to an image.
Bug SPIREXLS-5686 Fixes the issue that black color was resulted when setting the sheet tab color to Color.Empty.
Bug SPIREXLS-5692 Fixes the issue that the formula generated in German mode was incorrect.
Bug SPIREXLS-5708 Fixes the issue that saving a shape to an image caused a NullReferenceException.

Hotfix Version: 15.1.3

Category ID Description
New feature SPIREXLS-5542 Supports the CSCH function
New feature SPIREXLS-5548 Supports the RANDARRAY function.
New feature SPIREXLS-5621 Supports the COTH function.
New feature SPIREXLS-5622 Supports the SEQUENCE function.
New feature SPIREXLS-5627 Supports the EXPAND function.
New feature SPIREXLS-5638 Supports the CHOOSECOLS function.
New feature SPIREXLS-5639 Supports the CHOOSEROWS function.
New feature SPIREXLS-5642 Supports the DROP function.
New feature SPIREXLS-5656 Support setting HyLink for XlsPrstGeomShape.
PrstGeomShapeCollection prstGeomShapeType = worksheet.PrstGeomShapes;
for (int i = 0; i < prstGeomShapeType.Count; i++)
{
    XlsPrstGeomShape shape = (XlsPrstGeomShape)prstGeomShapeType[i];
    shape.HyLink.Address = "https://www.baidu.com/";
}
Bug SPIREXLS-5570 Fixes the issue that the charts were lost when converting XLSM to PDF.
Bug SPIREXLS-5608 Fixes the issue that the content was lost when converting Excel to PDF.
Bug SPIREXLS-5611 Fixes the issue that setting ShowLeaderLines did not take effect.
Bug SPIREXLS-5612 Fixes the issue that the data bar colors were incorrect when converting Excel to PDF.
Bug SPIREXLS-5625
SPIREXLS-5647
Fixes the issue that the values were incorrect after calling the CalculateAllValue() method to calculate formula values.
Bug SPIREXLS-5635 Fixes the issue that setting the worksheet tab color to Color.Empty resulted in black. 
Bug SPIREXLS-5640 Fixes the issue that the images were extracted incorrectly.
Bug SPIREXLS-5657 Fixes the issue that it failed to delete pivot fields in pivot tables.
Bug SPIREXLS-5659 Fixes the issue that the text orientation in shapes was reversed when converting Excel to PDF.

Hotfix Version: 14.12.2

Category ID Description
New feature SPIREXLS-5561 Supports the SEC function.
New feature SPIREXLS-5562 Supports the WRAPCOLS function.
New feature SPIREXLS-5563 Supports the WRAPROWS function.
New feature SPIREXLS-5574 Supports the VSTACK function.
New feature SPIREXLS-5577 Supports the PERCENTOF function.
New feature SPIREXLS-5578 Supports the REPTARRAY function.
New feature SPIREXLS-5592 Support the SECH function.
New feature SPIREXLS-5607 Supports the IMTAN function.
New feature SPIREXLS-5614 Supports the IMCSC function.
New feature SPIREXLS-5615 Supports the IMCOT function.
New feature SPIREXLS-5616 Supports the IMSEC function.
New feature SPIREXLS-5623 Supports the SUBSTITUTES function.
Bug SPIREXLS-5576 Fixes the issue that the content was being shrunk when printing Excel documents using a dot matrix printer.
Bug SPIREXLS-5584 Fixes the issue that the formatting was incorrect when converting Excel documents to PDF.
Bug SPIREXLS-5610 Fixes the issue that the text position in legends was incorrect when converting Excel documents to PDF.

Hotfix Version: 14.11.3

Category ID Description
New feature SPIREXLS-5469
SPIREXLS-5470
SPIREXLS-5546
SPIREXLS-5564
SPIREXLS-5565
Supports the new formulas including ACOT, ACOTH, COT, TOROW, TOCOL.
New feature SPIREXLS-5534 Supports passing values to group pivot tables.
Workbook wb = new Workbook();
 wb.LoadFromFile(inputFile);
 Worksheet pivotSheet = wb.Worksheets[0]; 
 XlsPivotTable pivot = (XlsPivotTable)pivotSheet.PivotTables[0]; PivotField dateBaseField = pivot.PivotFields["number"] as PivotField;
 dateBaseField.CreateGroup(3000, 3800, 1);
 pivot.CalculateData();
 wb.SaveToFile(outputFile);
 wb.Dispose();
Bug SPIREXLS-3123 Fixes the issue that the results were incorrect after compressing images.
Bug SPIREXLS-5056 Fixes the issue that some content was hidden when converting Excel to images.
Bug SPIREXLS-5081 Fixes the issue that the program threw an 'ArgumentOutOfRangeException' error while loading an Excel document.
Bug SPIREXLS-5120 Fixes the issue that the image content was incorrect after loading and saving an Excel document.
Bug SPIREXLS-5177 Fixes the issue that the chart height was incorrect when converting Excel to PDF. 
Bug SPIREXLS-5364 Fixes the issue that the effect was incorrect when using "Worksheet.AutoFitColumn()" method.
Bug SPIREXLS-5513 Fixes the issue that the background color changed when saving xls to xlsx.
Bug SPIREXLS-5537 Fixes the issue that the content was incorrect when converting Excel to PDF.
Bug SPIREXLS-5538 Fixes the issue that the results were incorrect when replacing images in Excel.
Bug SPIREXLS-5543 Fixes the issue that the content was incorrect when converting Chart to Image.
Bug SPIREXLS-5544 Fixes the issue that the content was lost when printing Excel document.
Bug SPIREXLS-5545 Fixes the issue that the results were incorrect when using VLOOKUP() formula.
Bug SPIREXLS-5554 Fixes the issue that the content was incorrect when converting Excel to PDF.

Hotfix Version: 14.10.2

Category ID Description
New feature SPIREXLS-5350 MarkerDesigner now supports applying filter value parameters.
New feature SPIREXLS-5396 ARRAYTOTEXT formula has been supported.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Text = "True";
workbook.Worksheets[0].Range["A2"].Text = "1234.01234";
workbook.Worksheets[0].Range["A3"].Text = "Hello";
workbook.Worksheets[0].Range["B1"].Text = "#VALUE!";
workbook.Worksheets[0].Range["B2"].Text = "Seattle";
workbook.Worksheets[0].Range["B3"].Text = "$1,123.00";          
workbook.Worksheets[0].Range["D1"].FormulaArray = "=ARRAYTOTEXT(A1:B4,0)"; 
workbook.Worksheets[0].Range["D3"].FormulaArray = "=ARRAYTOTEXT(A1:B4,1)";    
workbook.SaveToFile(outputFile, ExcelVersion.Version2013);
New feature SPIREXLS-5471 ARABIC formula has been supported.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Value2 = "mcmxii";             
workbook.Worksheets[0].Range["C1"].Formula = "=ARABIC(A1)";
workbook.Worksheets[0].Range["C2"].Formula = "=ARABIC(\"LVII\")"; 
workbook.Worksheets[0].Range["C3"].Formula = "=ARABIC(\"mcmxii\")"; 
workbook.Worksheets[0].Range["C4"].Formula = "=ARABIC(\"\")"; 
workbook.Worksheets[0].Range["C5"].Formula = "=ARABIC(\"-LVII\")";
workbook.Worksheets[0].Range["C6"].Formula = "=ARABIC(\"57\")"; 
workbook.Worksheets[0].Range["C7"].Formula = "=ARABIC(\"2024/10/15\")"; 
workbook.Worksheets[0].Range["C8"].Formula = "=ARABIC(\"Text\")";
New feature SPIREXLS-5478 BASE formula has been supported.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Value2 = 7;           
workbook.Worksheets[0].Range["C1"].Formula = "=BASE(A1,2)";
workbook.Worksheets[0].Range["C2"].Formula = "=BASE(7,2)"; 
workbook.Worksheets[0].Range["C3"].Formula = "=BASE(100,16))";
workbook.Worksheets[0].Range["C4"].Formula = "=BASE(15,2,10)"; 
workbook.Worksheets[0].Range["C5"].Formula = "=BASE(Text,16))"; 
workbook.Worksheets[0].Range["C6"].Formula = "=BASE(-7,2)";
New feature SPIREXLS-5479 COMBINA formula has been supported.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Value2 = 4; 
workbook.Worksheets[0].Range["C1"].Formula = "=COMBINA(A1,3)";
workbook.Worksheets[0].Range["C2"].Formula = "=COMBINA(4,3)"; 
workbook.Worksheets[0].Range["C3"].Formula = "=COMBINA(10,3)"; 
workbook.Worksheets[0].Range["C4"].Formula = "=COMBINA(3,10)";
workbook.Worksheets[0].Range["C5"].Formula = "=COMBINA(Text,16))";
New feature SPIREXLS-5480 XOR formula has been supported.
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Value2 = 3;
workbook.Worksheets[0].Range["A2"].Value2 = 0;
workbook.Worksheets[0].Range["C1"].Formula = "=XOR(A1>A2)";
workbook.Worksheets[0].Range["C2"].Formula = "=XOR(2>9)"; 
workbook.Worksheets[0].Range["C3"].Formula = "=XOR(3>0,2<9)"; 
workbook.Worksheets[0].Range["C4"].Formula = "=XOR(3>12,2<9)"; 
workbook.Worksheets[0].Range["C5"].Formula = "=XOR(3>12,2<9,4>6)"; 
workbook.Worksheets[0].Range["A6"].Value2 = 3>0;
workbook.Worksheets[0].Range["C6"].Formula = "=XOR(A6)";
New feature SPIREXLS-5482 Supports embedding images into cells.
worksheet.Range["B1"].InsertOrUpdateCellImage("D:\\vs1.png",true); 
New feature SPIREXLS-5521 Supports getting a cell's NamedRange.
Workbook workbook = new Workbook();
workbook.LoadFromFile(inputFile);
var result = workbook.Worksheets[0].Range["A1"].GetNamedRange();
System.Console.WriteLine(result);
var result1 = workbook.Worksheets[0].Range["A2"].GetNamedRange();
System.Console.WriteLine(result1);
File.WriteAllText(outputFile_T, result.ToString()+ "\r
");
File.AppendAllText(outputFile_T, result1.ToString()+ "\r
");
var result2 = workbook.Worksheets[0].Range["A3"].GetNamedRange();
if (result2 == null)
{
    System.Console.WriteLine("null");
    File.AppendAllText(outputFile_T, "null");
}
Bug SPIREXLS-2333 Fixed an issue where the number of pages retrieved was incorrect.
Bug SPIREXLS-5287 Fixed an issue with decimal points not being correct when exporting data under the .NET 6 framework.
Bug SPIREXLS-5347 Fixed an issue where embedded images in cells were lost after converting Excel to PDF.
Bug SPIREXLS-5465 Fixed an exception "Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')" when converting Excel to PDF.
Bug SPIREXLS-5481 Fixed an issue where the calculation result of a formula was incorrect.
Bug SPIREXLS-5486 Fixed an exception when converting Excel to PDF.
Bug SPIREXLS-5489 Fixed an issue where an additional "@" character was inserted when adding formulas to cells, and the formula value was incorrect.
Bug SPIREXLS-5491 Fixed an issue where deleting Sparklines failed.
Bug SPIREXLS-5532 Fixed an issue where adding filters to pivot tables failed.

Hotfix Version: 14.9.5

Category ID Description
New feature SPIREXLS-5255 Supports adding filters to row fields/column fields of pivot tables.
XlsPivotTable pt1 = workbook.Worksheets["PivotTable_1"].PivotTables[0] as XlsPivotTable;
pt1.RowFields[0].AddValueFilter(PivotValueFilterType.Between, pt1.DataFields[0], 100000, 1000000);
pt1.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt1.DataFields[0], 100000, 1000000);
pt1.CalculateData();
New feature SPIREXLS-5393 Supports the TEXTBEFORE formula.
workbook.Worksheets[0].Range["A1"].Formula = "=TEXTBEFORE(\"Red riding hood's, red hood\", \"hood\")";
New feature SPIREXLS-5394 Supports the TEXTSPLIT formula.
Supports the issue that the TEXTSPLIT formula is now available. 
workbook.Worksheets[0].Range["B2:D2"].FormulaArray = "=TEXTSPLIT(A2, \" \")";
New feature SPIREXLS-5397 Supports the TEXTAFTER formula.
workbook.Worksheets[0].Range["A3"].Formula = "=TEXTAFTER(\"Red riding hood’s, red hood\", \"\")";
Bug SPIREXLS-5355 Fixes the issue that the content is incorrect when converting Excel documents to images.
Bug SPIREXLS-5467 Fixes the issue that an exception "System.InvalidCastException" is thrown when copying worksheets containing charts.
Bug SPIREXLS-5468 Fixes the issue that there is a discrepancy in data after the decimal point when converting Excel documents to PDF.
Request free customized demo just for you.

Tab 1

Upload

Maximum file size: 1 MB. Files accepted: xls, xlsx, xlsb, ods.
Click here to browse files.
fileerrors

Convert to

Source file:
filename
Target file type:

Tab 2

Tab 3

Tab 4

Mathematic Functions:

Calculate symbol : Calculate Data:

Logic Function:

Calculate symbol : Calculate Data:

Simple Expression:

Calculate symbol : Calculate Data:

MID Functions:

Text : Start Number:
Number Charts:

Option:

Excel Version:
downloads

Tab 5

Data

fileerrors

Option

Excel Version:
downloads

If you don't find the function you want, please fill in a form to request a free demo from us. Make sure the demo you want meets the following requirements:

  • It is a small project that implements a particular scenario.
  • It relates to our libraries stored on E-iceblue online store.
  • It costs less than 2 hours for us to complete it.
  • It is not a bug report.
  • It is not a feature request.