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
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.
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.- Excel to HTML/XML/CSV
- XML/CSV to Excel
- Excel to Image
- Excel to Text
- Excel to PDF
- Excel to XPS
- Excel to SVG
Contents Features
Spire.XLS for .NET offers a wide range of features and the main features are listed as below:- Create and Edit Excel
- Find and Replace Data
- Print excel files
- Import/Export data from a DataTable, DataView, Array, DataGrid etc.
- Save Excel to file/Stream or as web response
- Create charts
- Read and write hyperlinks
- Create auto filters
- Implement Data Sorting
- Implement Data Validations
- Merge/Unmerge Cells and files
- Group/UnGroup Rows and Columns
- Insert/Delete or Hide Rows, Columns and Sheets
- Calculate Complex Excel Formula
- Freeze/Unfreeze Panes
- Insert Hyperlinks to link data
- Protect/Unprotect Worksheets
- Create Pivot Tables
- Encrypt/Decrypt Files
- Load/Save Excel VBA
- Merge data into Excel with MarkerDesigner
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



Excel Chart
Excel ChartTutorials / Live Demo / C# Code
Marker Designer
Marker DesignerTutorials / Live Demo / C# Code
Data Import/Export
Import Excel from DataTableTutorials / Live Demo / C# Code

Runtime Excel Calculation
Runtime Excel CalculationTutorials / Live Demo / C# Code
Create Excel Pivot Table
Create Excel Pivot TableTutorials / Live Demo / C# Code
|
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. |
|||||||||||
|
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. |
|||||||||||
- 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
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.
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
Click here to browse files.Convert to
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: |
Tab 5
Data
Option
| Excel Version: |
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.