Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
When it comes to working with Excel documents in C#, two of the most popular libraries available are IronXL, a solution from the Iron Suite bundle, and FastExcel v4. Both libraries offer a range of tools and features that can help developers manipulate and manage Excel workbooks. These two pieces of software are individually great but great is not enough. We are going to assess the features that each offer, to determine which is the best option for your needs. In this article, we will compare IronXL and FastExcel v4, highlighting the strengths and weaknesses of each library, and providing examples of how to use both in C#.
FastExcel v4 is a family of multithreaded C# libraries that provide tools for managing Excel workbooks. The latest version of FastExcel v4 introduces new features such as Tables Sheet Manager Pro, which simplifies the management of defined names, and FastExcel SpeedTools, which helps to reduce workbook bloat.
With FastExcel v4, developers have the option to choose between automatic and manual calculation methods, depending on their needs. The library offers a wide range of tools for manipulating worksheets and workbooks, including support for unlimited formulas and calculations.
One of the major advantages of FastExcel v4 is its speed. The library is designed to be efficient, even when dealing with large or complex workbooks. It includes multithreaded calculations that can significantly speed up the calculation process, and it provides tools for managing memory usage and optimizing performance.
IronXL is a powerful C# library that empowers developers to manipulate and create Excel files programmatically. It offers a familiar C# syntax and methods for reading, writing, and modifying Excel files, without any external dependencies or additional software installations.
With IronXL, developers have access to a wide range of features and tools that simplify working with Excel files. This includes support for various Excel file formats, the ability to manipulate worksheets and tables, and tools for managing defined names, number formats, and more. The library also supports automatic and manual calculation modes, along with multithreaded Excel calculations to optimize performance.
Using IronXL, developers can effortlessly create new Excel workbooks, add data to existing ones, and manipulate Excel formulas and calculations using C# code. The library also includes robust debugging tools and features like the Formula Explorer and the Tables Sheet Manager, which aid in troubleshooting and optimizing Excel code.
System.Data
Objects, which enable users to work with Excel WorkBook
Spreadsheets as System.Data.DataSet
and System.Data.DataTable
objects.WorkSheet
syntax.To get started with FastExcel v4, you will need to download the latest version from the official website. You can use the trial version to evaluate the library before purchasing the fully licensed version. Once you have installed FastExcel v4, you can start using its tools to help you manage Excel files.
FastExcel v4 provides a range of tools for manipulating Excel files in C#. You can use FastExcel v4 to open and save Excel workbooks, manipulate worksheets, manage defined names, and more. Here are some examples of how to use FastExcel v4 to manipulate Excel files:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
// Do some work on the workbook here
workbook.Save();
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
// Do some work on the workbook here
workbook.Save();
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
' Do some work on the workbook here
workbook.Save()
End Using
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var worksheet = workbook.Worksheets ["Sheet1"];
// Do some work on the worksheet here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var worksheet = workbook.Worksheets ["Sheet1"];
// Do some work on the worksheet here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Dim worksheet = workbook.Worksheets ("Sheet1")
' Do some work on the worksheet here
End Using
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var definedNames = workbook.DefinedNames;
// Do some work on the defined names here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var definedNames = workbook.DefinedNames;
// Do some work on the defined names here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Dim definedNames = workbook.DefinedNames
' Do some work on the defined names here
End Using
One of the most significant advantages of FastExcel v4 is its ability to optimize calculations in Excel workbooks. Excel calculations can become a bottleneck as the size and complexity of a workbook grow. FastExcel v4 provides tools to help you optimize calculations and improve performance.
By default, Excel workbooks use automatic calculation, which means that Excel recalculates formulas whenever a cell changes. This can be time-consuming, especially in large workbooks. FastExcel v4 allows you to switch between automatic and manual calculation, which can significantly improve performance. Here is an example of how to switch to manual calculation:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
workbook.CalculationMode = CalculationMode.Manual;
// Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
workbook.CalculationMode = CalculationMode.Manual;
// Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
workbook.CalculationMode = CalculationMode.Manual
' Do some work on the workbook here
End Using
Array calculations can also become a bottleneck in Excel workbooks. FastExcel v4 provides tools to help you optimize array calculations and improve performance. Here is an example of how to optimize array calculations using FastExcel v4:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
// Do some work on the workbook here
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
// Do some work on the workbook here
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas
' Do some work on the workbook here
End Using
FastExcel Profiler is an invaluable tool for optimizing Excel calculations. FastExcel Profiler provides detailed information about calculation problems, excess bloat, and other issues that can affect the performance of your Excel workbooks. Here is an example of how to use FastExcel Profiler to optimize calculations:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var profiler = new FastExcelProfiler(workbook))
{
// Do some work on the workbook here
profiler.DisplayReport();
}
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var profiler = new FastExcelProfiler(workbook))
{
// Do some work on the workbook here
profiler.DisplayReport();
}
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Using profiler = New FastExcelProfiler(workbook)
' Do some work on the workbook here
profiler.DisplayReport()
End Using
End Using
FastExcel TableSheet
Manager Pro is another powerful tool in the FastExcel v4 family. It provides tools to help you manage tables in your Excel workbooks. Tables Sheet Manager Pro allows you to easily manage an unlimited number of tables in a single worksheet, which can significantly reduce excess bloat and improve performance. Here is an example of how to use Tables Sheet Manager Pro:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var manager = new TableSheetManagerPro(workbook))
{
// Do some work on the tables here
}
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var manager = new TableSheetManagerPro(workbook))
{
// Do some work on the tables here
}
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Using manager = New TableSheetManagerPro(workbook)
' Do some work on the tables here
End Using
End Using
FastExcel v4 also provides tools to help you manage number formats in your Excel workbooks. You can use FastExcel v4 to apply number formats to cells, columns, and rows in your workbooks. Here is an example of how to apply a number format using FastExcel v4:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var worksheet = workbook.Worksheets ["Sheet1"];
var column = worksheet.Columns ["A"];
column.Style.NumberFormat = "#,##0.00";
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
var worksheet = workbook.Worksheets ["Sheet1"];
var column = worksheet.Columns ["A"];
column.Style.NumberFormat = "#,##0.00";
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Dim worksheet = workbook.Worksheets ("Sheet1")
Dim column = worksheet.Columns ("A")
column.Style.NumberFormat = "#,##0.00"
End Using
FastExcel v4 provides a Formula Explorer tool that allows you to view the formulas in your Excel workbooks. The Formula Explorer can help you troubleshoot formula errors and optimize calculations. Here is an example of how to use the Formula Explorer:
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var explorer = new FormulaExplorer(workbook))
{
// Do some work on the formulas here
}
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
using (var explorer = new FormulaExplorer(workbook))
{
// Do some work on the formulas here
}
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
Using explorer = New FormulaExplorer(workbook)
' Do some work on the formulas here
End Using
End Using
To get started with IronXL, you will need to install the IronXL package. You can do this through the NuGet package manager or by downloading the package from the IronXL website. Once you have installed the package, you can begin using IronXL in your C# project.
Opening and Saving Workbooks: To open an Excel workbook using IronXL, you can use the following code:
WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
Dim workbook As WorkBook = WorkBook.Load("C:\Test\MyWorkbook.xlsx")
This will open the workbook located at the specified path. You can also create a new workbook using the following code:
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
To save a workbook using IronXL, you can use the following code:
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
This will save the workbook to the specified path.
To manipulate worksheets in a workbook using IronXL, you can use the following code:
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
This will get the worksheet named "Sheet1" from the workbook. You can then manipulate the worksheet as needed.
IronXL provides tools to help you manage defined names in your Excel workbooks. You can use the following code to create a defined name:
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
This will create a defined name called MyRange
that refers to the range A1:B10 in the worksheet.
To apply a number format to a cell or range of cells using IronXL, you can use the following code:
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet ("A1").Style.NumberFormat.Format = "#,##0.00"
This will apply the number format "#,##0.00" to cell A1 in the worksheet.
IronXL provides tools to help you optimize calculations in your Excel workbooks. To optimize calculations, you can use the following code:
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
This will turn off automatic calculation in the workbook. You can then manually calculate the workbook using the following code:
workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
This will calculate all the formulas in the workbook.
Both FastExcel and IronXL are powerful libraries for manipulating Excel files using C# language. While both libraries offer similar features, there are a few key differences that set them apart.
FastExcel is a library that focuses on improving the performance of Excel calculations, particularly when working with large datasets. It offers features like automatic and manual calculation, optimization for array calculation bottlenecks, and open calculation methods. FastExcel also provides tools like the FastExcel Profiler and FastExcel SpeedTools to help manage and optimize Excel workbooks.
On the other hand, IronXL is a library that prioritizes ease of use and flexibility. It provides a wide range of tools to help developers manipulate Excel files in C# code. Some of these tools include the ability to manage defined names, work with an unlimited number of worksheets, and easily manage number formats. IronXL also supports multithreaded Excel calculations, making it a great choice for handling large datasets.
While both FastExcel and IronXL are powerful libraries for working with Excel files in C#, IronXL has a few advantages that make it the preferred choice for many developers. First, IronXL has a more intuitive API, making it easier to work with and learn. Second, IronXL is more affordable than FastExcel, making it a better choice for smaller projects or teams with limited budgets.
Additionally, IronXL is a more lightweight library compared to FastExcel. It does not have the excess bloat that FastExcel has, which can slow down performance and make it more difficult to manage large Excel workbooks.
While both FastExcel and IronXL are capable libraries for working with Excel files in C#, IronXL is a top choice due to its ease of use, affordability, and lightweight nature.
In conclusion, when comparing FastExcel and IronXL, it is clear that both libraries offer a range of powerful tools and features for manipulating Excel files using C# code. However, there are some key differences between the two libraries that make IronXL the preferred choice for many developers.
From a technical standpoint, IronXL offers a more intuitive and user-friendly API, making it easier to learn and use for developers of all skill levels. IronXL also offers a lightweight library that does not have the excess bloat that can slow down performance and make it more difficult to manage large Excel workbooks. In contrast, FastExcel focuses more on improving Excel calculation performance, but can be more complex and difficult to work with compared to IronXL.
Additionally, IronXL offers a more affordable licensing model compared to FastExcel, making it a better choice for smaller projects or teams with limited budgets. With a fully licensed version of IronXL, developers have access to all features and tools without any additional fees or restrictions.
Overall, IronXL is the preferred choice for developers who prioritize ease of use, affordability, and lightweight performance. With its powerful tools and features, including multithreaded Excel calculations and support for an unlimited number of worksheets, IronXL is an invaluable tool for any developer working with Excel files in C# code.
For those interested in purchasing IronXL, Iron Software offers a special deal where customers can buy all five of their Iron Software products for the price of two. This includes IronXL, as well as other powerful libraries for working with PDF files, OCR, and more. This deal offers exceptional value for developers who need a range of tools to support their projects.
Download the software product.
9 .NET API products for your office documents