USING IRONXL

How to Open Excel File in C#

This tutorial will use IronXL as a main tool to open and read Excel files in C# projects.

IronXL Excel Library

IronXL is a .NET library that prioritizes ease of use, accuracy, and speed for its users. It helps you open, read, create, and edit Excel files with lightning-fast performance and without any errors. It works without MS Office Interop, which makes it a powerful tool for developers.

IronXL is compatible with all .NET Frameworks along with Linux, MacOS, Docker, Azure, and AWS. It can be used to create Console, Web, and Desktop Applications such as Blazor and MAUI for modern Web Apps. It supports different workbook formats like XLS and XLSX files, XSLT and XLSM, CSV, and TSV.

Some Important IronXL Features

  • Open, read, and search data in different formats (XLS/XLSX file/CSV/TSV).
  • Export Excel Worksheets to XLS/XLSX/CSV/TSV/JSON.
  • Encrypting and decrypting XLSX/XLSM/XLTX files with passwords.
  • Work with Excel sheets as System.Data.DataSet and System.Data.DataTable objects.
  • Excel file formulas are recalculated automatically each time a sheet is edited.
  • Easy spreadsheet data editing with an intuitive cell-range-based syntax (e.g., WorkSheet["A1:B10"]).
  • Sort Cell Ranges, Columns, and Rows.
  • Styling Cells - Font, Font Size, Background color, Border, Alignment, and Numbering formats.

How to open an Excel file in C#?

Prerequisites

To use IronXL in C# applications, install the following components on your local computer:

  1. Visual Studio - It is the official IDE for developing C# .NET applications. You can download and install Visual Studio from the Microsoft website. You can also use Jetbrains ReSharper & Rider.
  2. IronXL - It is the Excel library that helps to work with Excel sheets at a given path in C#. It must be installed in your C# application before using it. You can download it from the NuGet website or from 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, add the necessary IronXL namespaces by including the following line at the top of your C# file:

// Add reference to the IronXL library
using IronXL;
// Add reference to the IronXL library
using IronXL;
' Add reference to the IronXL library
Imports IronXL
$vbLabelText   $csharpLabel

Open an Existing Excel file in C#

Excel files, also known as workbooks, consist of multiple worksheets, each containing cell values. To open and read an Excel file, load it using the WorkBook class's Load method.

// 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")
$vbLabelText   $csharpLabel

This initializes the workbook as a WorkBook instance. To open a specific WorkSheet, retrieve it from the WorkSheets collection:

// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

This accesses the first sheet in the Excel file, ready for reading and writing.

How to Open Excel File in C#, Figure 1: Excel File Excel File

Read Excel Files in C#

Once the Excel file is opened, it is ready for reading data. Reading data from Excel files in C# using IronXL is straightforward. You can read cell values by specifying the cell reference.

The following code retrieves the value of a cell:

// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value in the console
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

The output is as follows:

How to Open Excel File in C#, Figure 2: Read Excel Read Excel

To read data from a range of cells, use a loop to iterate through the specified range:

// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Each value in the cell range A2:A6 is accessed and printed to the console.

How to Open Excel File in C#, Figure 3: Read Range of Cells Read Range of Cells

For more detailed reading and writing examples, check the Excel reading tutorial in C#.

Create a New Workbook

IronXL also facilitates creating new workbooks for data saving and retrieving.

You can create a new Excel file with a single line of code:

// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

Next, create a worksheet and add data to it.

Create a New Worksheet

// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

This code adds a worksheet named "GDPByCountry" to the workbook, allowing you to add cell values.

To set a value for a specific cell, use the code below:

// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
$vbLabelText   $csharpLabel

The final output is:

How to Open Excel File in C#, Figure 4: Add Value to Cell Add Value to Cell

Summary

This article demonstrates how to open and read Excel files, such as XLS and XLSX, in C# using IronXL. IronXL doesn't require Microsoft Excel to be installed on the system for Excel-related tasks.

IronXL provides a comprehensive solution for Excel-related tasks programmatically, including formula calculation, string sorting, trimming, finding and replacing, merging and unmerging, saving files, and more. You can also set cell data formats.

IronXL is available for a free 30-day trial and can be licensed for commercial use. IronXL's Lite package starts from $749.

Frequently Asked Questions

What is IronXL and how does it help with Excel files in C#?

IronXL is a .NET library that allows users to open, read, create, and edit Excel files efficiently without using MS Office Interop. It is compatible with all .NET Frameworks as well as Linux, MacOS, Docker, Azure, and AWS, making it a powerful tool for developers.

How does IronXL handle different Excel file formats?

IronXL supports multiple Excel file formats, including XLS, XLSX, CSV, and TSV. It can open, read, and write data in these formats, providing flexibility in handling various types of Excel files.

Do I need Microsoft Excel installed to use IronXL?

No, Microsoft Excel is not required to be installed on your system when using IronXL. The library operates independently of MS Office Interop, allowing you to work with Excel files without needing Excel installed.

How can I open an Excel file using IronXL in C#?

To open an Excel file using IronXL, you can use the `WorkBook.Load` method to load the file. This initializes the file as a `WorkBook` instance, from which you can access sheets and cells.

Can IronXL be used to create new Excel workbooks?

Yes, IronXL can be used to create new Excel workbooks. You can create a workbook using the `WorkBook` class and add worksheets and data to it programmatically.

How do I read cell values in an Excel sheet using IronXL?

You can read cell values by specifying the cell reference in Excel notation. For example, `sheet["C2"].IntValue` retrieves the integer value of cell C2.

Is IronXL compatible with different operating systems and platforms?

Yes, IronXL is compatible with all .NET Frameworks, Linux, MacOS, Docker, Azure, and AWS, making it versatile and suitable for various development environments.

What are some key features of IronXL?

Key features of IronXL include opening, reading, and editing Excel files, exporting worksheets to various formats, encrypting/decrypting files, recalculating formulas, and editing spreadsheets with intuitive syntax.

How can I start using IronXL in my C# project?

To use IronXL, install Visual Studio and the IronXL library via NuGet or download the .NET Excel DLL. Add the IronXL namespace to your C# file to begin working with Excel files.

Is there a trial version available for IronXL?

Yes, IronXL offers a free 30-day trial, allowing you to explore its features before purchasing a commercial license.

Regan Pun
Software Engineer
Regan graduated from the University of Reading, with a BA in Electronic Engineering. Before joining Iron Software, his previous job roles had him laser-focused on single tasks; and what he most enjoys at Iron Software is the spectrum of work he gets to undertake, whether it’s adding value to sales, technical support, product development or marketing. He enjoys understanding the way developers are using the Iron Software library, and using that knowledge to continually improve documentation and develop the products.
< PREVIOUS
How to Read Excel File in C#
NEXT >
How to Convert a Table to a Range in Excel