
How to Read an Excel File in a C# Console Application
Working with Excel files is a common task in software development, especially when dealing with data manipulation and analysis.
Reading Excel files in a C# console application is a common task in many business and data processing scenarios. Excel files, with their tabular data structure, are frequently used to store and exchange information.
In C# applications, IronXL provides a powerful and user-friendly solution for handling Excel files. This article will guide you through the process of reading Excel files in a C# Console Application using the IronXL library.
How to Read an Excel File in a C# Console Application
- Create a C# Console Application in Visual Studio
- Install the IronXL C# Excel Library
- Create a Workbook class Object
- Load the Excel file using Workbook.Load method
- Load the Worksheet using the WorkSheets method
- Read the Excel File data using WorkSheet.Row method
- Loop through the Cell values
- Print the Cell.Text on Console Window
Introduction to IronXL Library
IronXL is a .NET library designed to simplify Excel-related tasks for developers. Whether you need to create, modify, or read Excel files, IronXL offers a comprehensive set of features and functionalities. IronXL simplifies the process of interacting with Excel workbooks, sheets, and cells.
With IronXL, developers can effortlessly read and write data to Excel files, enabling seamless integration of Excel functionality into C# projects without Microsoft Office Interop or Excel installed.
By leveraging the capabilities of IronXL, developers can manipulate cell values, extract data from an Excel Workbook, and generate Excel documents dynamically. With its intuitive API and robust feature set, IronXL empowers developers to efficiently handle Excel data, making tasks such as data analysis, reporting, and document generation a breeze.
Whether you're working with Microsoft Excel files, spreadsheets, or worksheets, IronXL provides the tools you need to streamline your C# application development process.
Features of IronXL
Before moving forward, let's highlight some key features of IronXL:
- Create and Edit Excel Files: IronXL supports the creation and modification of Excel files, allowing developers to manipulate worksheets, cells, and formatting.
- Read Excel Files: The library facilitates the extraction of data from existing Excel files, making it easy to read and process Excel spreadsheet data within .NET applications.
- Export to Excel: IronXL enables the exporting of data from your application to an Excel format, ensuring compatibility with other tools and platforms.
- Formulas and Functions: Support for Excel formulas and functions allows dynamic calculations and data manipulation.
- Cell Formatting: IronXL provides features for formatting cells, including styles, fonts, colors, and borders.
Creating Console Application using Visual Studio
Let's start by creating a new C# Console Application in Visual Studio.
-
Open Visual Studio.
-
Select "Create a New Project".

-
Choose "Console App" under C# templates.

-
Provide a name for your project and click "Next."

-
Set the appropriate .NET Framework and click "Create."

Install IronXL using the NuGet Package Manager Console or Solutions
Now that we have our console application, we need to install the IronXL library.
Option 1: Using the NuGet Package Manager Console
Option 2: Using the NuGet Package Manager in Visual Studio
- Right-click on your project in Solution Explorer.
- Select "Manage NuGet Packages."
- Search for "IronXL" and click "Install."

Steps to Read Excel Files using IronXL
Now, let's go through the steps to read an Excel file using IronXL in our C# Console Application. The following code snippet allows you to read Excel files in the C# console application:
using IronXL;
class Program
{
public static void Main()
{
// Specify the path to the Excel file
string excelFilePath = "path/to/your/excel/file.xlsx";
// Load the Excel file in a using block to automatically dispose resources
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Access the first worksheet in the workbook
WorkSheet workSheet = workBook.WorkSheets[0];
// Iterate through each row in the worksheet
foreach (var row in workSheet.Rows)
{
// Iterate through each cell in the row
foreach (var cell in row)
{
// Print the text of the cell followed by a tab
Console.Write(cell.Text + "\t");
}
// Move to the next line after each row
Console.WriteLine();
}
} // WorkBook is automatically disposed here
}
}Imports IronXL
Module Program
Public Sub Main()
' Specify the path to the Excel file
Dim excelFilePath As String = "path/to/your/excel/file.xlsx"
' Load the Excel file in a using block to automatically dispose resources
Using workBook As WorkBook = WorkBook.Load(excelFilePath)
' Access the first worksheet in the workbook
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Iterate through each row in the worksheet
For Each row In workSheet.Rows
' Iterate through each cell in the row
For Each cell In row
' Print the text of the cell followed by a tab
Console.Write(cell.Text & vbTab)
Next
' Move to the next line after each row
Console.WriteLine()
Next
End Using ' WorkBook is automatically disposed here
End Sub
End ModuleThis C# code snippet demonstrates how to use the IronXL library to read data from an Excel file and display it in a console application. The following Excel file will be read and displayed on the console window:

Now, let's break down the code step by step:
Importing the IronXL Namespace
using IronXL;Imports IronXLThis line imports the IronXL namespace, which contains classes and methods for working with any Excel document.
Main Method
public static void Main() {
// Main method where the program execution begins
}Public Shared Sub Main()
' Main method where the program execution begins
End SubThe Main method is the entry point of the application. We will write the above code snippet in this main method.
Excel File Path
string excelFilePath = "path/to/your/excel/file.xlsx";Dim excelFilePath As String = "path/to/your/excel/file.xlsx"This line specifies the path to the Excel file that you want to read. Replace "path/to/your/excel/file.xlsx" with the actual path to your Excel file.
Load Excel File
using (WorkBook workBook = WorkBook.Load(excelFilePath))netThe WorkBook.Load() method is used to load the Excel file specified by excelFilePath into a WorkBook (Excel) object named workBook. Wrapping it in a using block ensures the workbook is properly disposed when it is no longer needed, since WorkBook implements IDisposable.
Accessing Worksheet
WorkSheet workSheet = workBook.WorkSheets[0];Dim workSheet As WorkSheet = workBook.WorkSheets(0)This line accesses the first Excel sheet in the workbook (workBook.WorkSheets [0]) and assigns it to an Excel WorkSheet object named workSheet.
Iterating Through Rows and Columns
foreach (var row in workSheet.Rows)
{
foreach (var cell in row)
{
Console.Write(cell.Text + "\t");
}
Console.WriteLine();
}Imports Microsoft.VisualBasic
For Each row In workSheet.Rows
For Each cell In row
Console.Write(cell.Text & vbTab)
Next cell
Console.WriteLine()
Next rowThese nested foreach loops iterate through each row and column in the worksheet. For each cell, the cell's text value (cell.Text) is printed to the console, followed by a tab character ("\t"). After printing all cells in a row, a newline character is printed to move to the next row.
Disposing the Workbook
using (WorkBook workBook = WorkBook.Load(excelFilePath))
{
// Work with the workbook here
} // WorkBook is automatically disposed hereImports System
Using workBook As WorkBook = WorkBook.Load(excelFilePath)
' Work with the workbook here
End Using ' WorkBook is automatically disposed hereSince WorkBook implements IDisposable, the using block automatically disposes the workbook and releases all associated resources when execution leaves the block.
For more working code examples please visit this code examples page.
Output
Upon running the application, the data from the Excel file will be printed on the console window:

Conclusion
In this tutorial, we explored the process of reading Excel files in a C# Console Application using the IronXL library. With its intuitive features, IronXL simplifies Excel-related tasks, making it a valuable tool for .NET developers working on data-centric applications.
Feel free to explore additional functionalities provided by IronXL for more advanced Excel manipulations in your C# projects by visiting this documentation page.
IronXL offers a free trial for testing out its complete functionality before making an informed decision. For commercial use, you need to purchase a license key starting from $999.
For more information on license packages, please visit this license page. Download the library from here and give it a try.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.
Related Articles



