How to Import Excel File in C#
Microsoft Excel is a versatile spreadsheet software that aids in data organization, presentation, and analysis. However, working with Excel programmatically in C# can be challenging. The IronXL software library can be used to import and read Excel files in C#.
IronXL - Excel Library
IronXL is a .NET Excel library that prioritizes ease of use, accuracy, and speed for its users. It helps you to import and read Excel documents, and create and edit an Excel file efficiently with lightning-fast performance. It works without MS Office Interop. This means without Excel installed, it provides all the functionalities to read Excel files. This makes IronXL a powerful tool for developers to import and read Excel files in C#.
IronXL is available on all platforms like Windows, Linux, MacOS, Docker, Azure, and AWS. It is compatible with all .NET Framework. IronXL is a versatile library that can be integrated into Console, Desktop, and Web ASP.NET applications. It supports different workbook formats like XLS and XLSX files, XSLT and XLSM, CSV, and TSV.
Some Important Features
- Open, read Excel files and search data from different spreadsheet formats like XLS/CSV/TSV/XLSX files.
- Exporting Excel Worksheets to XLS/XLSX/CSV/TSV/JSON.
- Encrypting and decrypting XLSM/XLTX/XLSX files with passwords.
- Import Excel sheet as
System.Data.DataSet
andSystem.Data.DataTable
objects. - Excel file formulas are recalculated every time a sheet is edited.
- Intuitive cell range settings with a
WorkSheet["A1:B10"]
easy syntax. - Sort Cell Ranges, Columns, and Rows.
- Styling Cells - Font, Font Size, Background color, Border, Alignment, and Numbering formats.
How to Import Excel Workbook in C#?
Prerequisites
To use IronXL in C# to read Excel files, please ensure the following components are installed on the computer:
- Visual Studio - It is the official IDE for developing C# .NET applications. You can download and install Visual Studio from the Microsoft website.
- IronXL - It is the library that helps to work with Excel sheets at a given path in C#. It must be installed in a C# program before using it. IronXL can be downloaded from the NuGet website or Manage NuGet packages in Visual Studio tools. You can also download the .NET Excel DLL file directly.
Adding Necessary Namespaces
Once Visual Studio and IronXL are installed, reference the IronXL assembly for using IronXL in the source code. Add the following line of code on top of the file within the new project where IronXL functions will be used:
using IronXL;
using IronXL;
Imports IronXL
Open an Existing Excel file in C#
Microsoft Excel Spreadsheets are also referred to as Excel Workbooks. Each workbook contains multiple worksheets and a single worksheet contains tabular cells with its value. To open and read an Excel file, it should be loaded using the WorkBook
class and Load
method present in the IronXL library. The code goes as follows:
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
This opens the Excel file in the workbook instance reference variable. As it can have multiple worksheets, it can be used to open a specific worksheet or all at once. The following code opens the first worksheet in the sheet instance variable:
WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
This will open the first sheet in the Excel file and now Excel data can be read and written to this sheet.
Opened Excel File
The Excel file
Read Data from the Imported Excel File
Once the Excel file is imported, it is ready for reading data. Reading Excel file data in C# using IronXL is very simple and easy. You can read Excel cell values by simply mentioning the cell reference number.
The code below retrieves the value of a cell with reference number "C2":
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;
// Display the value
Console.WriteLine(cellValue);
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;
// Display the value
Console.WriteLine(cellValue);
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue
' Display the value
Console.WriteLine(cellValue)
The output is as follows:
Read Excel
Now, let's read data from a range of cells in the opened Excel file. The code goes as follows:
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
The code is very simple, clean, and clear. The range of cells can be referenced with simple syntax as shown in a foreach
loop: sheet["A2:A6"]
and each cell can be iterated to get its value. Here, you will see the names in column A from row 2 to row 6 on the console output:
Read Range of Cells
For more details on reading and writing to cell values, check this tutorial read Excel file in C# example.
Import all Data from the Excel File
IronXL can be used to read Excel sheets at once using Rows and Columns indexes. The following IronXL code samples help to get the entire Excel file data in the same format on the console output:
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
// Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++)
{
// Get the values
string val = sheet.Rows[i].Columns[j].Value.ToString();
Console.Write("{0}\t", val);
}
Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
// Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++)
{
// Get the values
string val = sheet.Rows[i].Columns[j].Value.ToString();
Console.Write("{0}\t", val);
}
Console.WriteLine();
}
Imports Microsoft.VisualBasic
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
' Traverse all columns of specific Row
For j As Integer = 0 To sheet.Columns.Count() - 1
' Get the values
Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
Console.Write("{0}" & vbTab, val)
Next j
Console.WriteLine()
Next i
Output File
The output console for reading an Excel file
Add image alt text.
Summary
This article demonstrated how to import and read an Excel file in C# without any Microsoft Excel installed. It then considered multiple ways to read data from an Excel spreadsheet. IronXL also helps create Excel files in C# without any Excel installed.
IronXL provides an all-in-one solution for all Microsoft Excel document-related tasks to be implemented programmatically. You can perform formula calculation, string or number sorting, trimming and appending, find and replace, merge and unmerge, save files, etc. You can edit cell values and also set cell data formats along with validating spreadsheet data. It also supports CSV files and helps you work like Excel data.
IronXL is available for a free trial and can be licensed for commercial use with its Lite package starting from $749 only.
Frequently Asked Questions
How can I import and read an Excel file in C# without using Interop?
You can import and read Excel files in C# using the IronXL library. Simply load the Excel file using WorkBook.Load("file.xlsx")
to access and process the data without needing Microsoft Excel installed.
What platforms is the IronXL library compatible with?
IronXL is compatible with all .NET Frameworks and can be used on multiple platforms including Windows, Linux, MacOS, Docker, Azure, and AWS.
Can I use IronXL to edit Excel files without having Microsoft Excel installed?
Yes, IronXL allows you to create and edit Excel files programmatically in C# without requiring Microsoft Excel to be installed on your system.
What Excel formats can IronXL handle?
IronXL supports various Excel file formats such as XLS, XLSX, CSV, TSV, and many more, allowing easy import and manipulation of data.
What are the prerequisites for using IronXL in a C# project?
To use IronXL, ensure you have Visual Studio installed. You can add IronXL to your project via the NuGet package manager or by downloading and referencing the .NET Excel DLL.
How can I load an Excel workbook with IronXL in C#?
To load an Excel workbook in C#, use IronXL's WorkBook.Load("path/to/file.xlsx")
method, which allows you to open and manipulate the workbook.
Is it possible to handle Excel formulas using IronXL?
Yes, IronXL can process and recalculate Excel formulas seamlessly whenever a sheet is edited, ensuring accuracy in data calculations.
How do I read data from a specific cell using IronXL?
To read data from a specific cell, use IronXL syntax like sheet["B2"].StringValue
to get the value from cell B2.
Can I iterate over a range of cells in an Excel sheet using IronXL?
Yes, you can iterate over a range of cells using IronXL with a syntax such as foreach (var cell in sheet["A1:C3"])
to process each cell individually.
How can IronXL be integrated into ASP.NET applications?
IronXL can be easily integrated into ASP.NET applications by adding the library via NuGet and referencing it in your project, enabling Excel file manipulation in web applications.