C# Read XLSX File

This article was translated from English: Does it need improvement?
Translated
View the article in English

When working with various Excel formats, it often requires reading the data and manipulating it programmatically. In the following tutorial, we will learn how to read data from an Excel spreadsheet in C# using a convenient tool, IronXL.

Quickstart: Load a workbook and access a worksheet effortlessly

With IronXL, you can load an XLSX file using the WorkBook.Load method in a single line. Then access its first or named worksheet instantly and begin reading cell values — fast, frictionless Excel file reading.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer

Read .XLSX Files C#

  • Get IronXL for your project
  • Load a WorkBook
  • Access data from a WorkSheet
  • Apply functions like Sum, Min, & Max
  • Read a WorkSheet as a DataTable, DataSet, and more
How To Work related to C# Read XLSX File

1. Get IronXL for Your Project

Use IronXL in your project for a simple way to work with Excel file formats in C#. You can either install IronXL via direct download or alternatively you can use NuGet Install for Visual Studio. The software is free for development.

Install-Package IronXL.Excel

How to Tutorial

2. Load WorkBook

WorkBook is the class of IronXL whose object provides full access to the Excel file and its whole functions. For example, if we want to access an Excel file, we'd use the code:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

In the above code, the WorkBook.Load() function loads sample.xlsx into workBook. Any type of function can be performed on workBook by accessing the specific WorkSheet of an Excel file.


3. Access Specific WorkSheet

To access a specific WorkSheet of an Excel file, IronXL provides the WorkSheet class. It can be used in a few different ways:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
using IronXL;

// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

workBook is the WorkBook that is declared in the above portion.

OR

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
using IronXL;

// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

OR

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
using IronXL;

// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

OR

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
using IronXL;
using System.Linq;

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

OR

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
using IronXL;
using System.Linq;

// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After getting ExcelSheet workSheet, you can get any type of data from it and perform all Excel functions on it.


4. Access Data from WorkSheet

Data can be accessed from ExcelSheet workSheet with this process:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
using IronXL;

// Accessing data as a string
string dataString = workSheet["A1"].ToString();

// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

It is also possible to get data from multiple cells of a specific column.

foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
For Each cell In workSheet("A2:A10")
	Console.WriteLine("Value is: {0}", cell.Text)
Next cell
$vbLabelText   $csharpLabel

This will display the values from cell A2 to A10.

A complete code example of the specifics above is provided here.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
using IronXL;
using System;

// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

It will display the following result:

Doc3 Input1 related to 4. Access Data from WorkSheet

With the Excel file Sample.xlsx :

Doc3 1 related to 4. Access Data from WorkSheet

We can see how effortless it is to use Excel file data in your project using these methodologies.


5. Perform Functions on Data

It is very straightforward to access filtered data from an Excel WorkSheet by applying aggregate functions like Sum, Min, or Max using the following code:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
using IronXL;

// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

If you want more details, check out our in-depth tutorial on How to Write C# Excel Files with specifics on aggregate functions.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();

// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

This code will display the following output:

Doc3 Output2 related to 5. Perform Functions on Data

And this is how the Excel file Sample.xlsx will look:

Doc3 2 related to 5. Perform Functions on Data

6. Read Excel WorkSheet as DataTable

Using IronXL, it is very easy to operate with an Excel WorkSheet as a DataTable.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

If we want to use the first row of ExcelSheet as DataTable ColumnName then:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Thus, the Boolean parameter of ToDataTable() sets the first row as the column names of your DataTable. By default, its value is False.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names

// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
    {
        Console.Write(row[i] + " ");
    }
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Using the above code, every cell value of the WorkSheet can be accessed and used as required.


7. Read Excel File as DataSet

IronXL provides a very simple function to use a complete Excel file (WorkBook) as a DataSet. Use the ToDataSet method to turn the whole workbook into DataSet. In this example, we will see how to use the Excel file as a DataSet.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();

// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
    Console.WriteLine(dt.TableName);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

The output of the above code will look like this:

Doc10 Output2 related to 7. Read Excel File as DataSet

And the Excel file Sample.xlsx will look like this:

Doc10 2 related to 7. Read Excel File as DataSet

In the above example, we see that we can easily parse an Excel file into a DataSet and employ it with every WorkSheet of an Excel file as a DataTable. Dive more into how to parse Excel as a DataSet here featuring code examples.

Let's see one more example of how to access each cell value of all ExcelSheets. Here, we can access each cell value of every WorkSheet of an Excel file.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
' CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
$vbLabelText   $csharpLabel

Using the above example, it is very convenient to access each cell value of every WorkSheet of an Excel file.

For more on how to Read Excel Files Without Interop check out the code here.


Tutorial Quick Access

API Reference for IronXL

Read more about IronXL's features, classes, method fields, namespaces, and enums in the documentation.

API Reference for IronXL
Documentation related to Tutorial Quick Access

Questions Fréquemment Posées

Comment puis-je lire un fichier XLSX en C# sans utiliser Interop?

Pour lire un fichier XLSX en C# sans utiliser Interop, vous pouvez utiliser la bibliothèque IronXL. Après avoir installé IronXL, vous pouvez charger un classeur Excel en utilisant la méthode WorkBook.Load() et accéder à son contenu.

Comment charger un classeur Excel en C#?

Vous pouvez charger un classeur Excel en C# en utilisant IronXL en appelant WorkBook.Load('yourfile.xlsx'), qui ouvre le fichier spécifié pour manipulation.

Quelles méthodes sont disponibles pour accéder aux feuilles de calcul dans un fichier Excel?

Dans IronXL, vous pouvez accéder aux feuilles de calcul en utilisant la méthode GetWorkSheet par nom ou index, ainsi que des propriétés comme DefaultWorkSheet ou First.

Comment manipuler les données dans une feuille de calcul Excel en utilisant C#?

Vous pouvez manipuler les données dans une feuille de calcul Excel en utilisant IronXL en accédant aux valeurs des cellules avec une syntaxe comme ws['A1'].ToString() pour les chaînes de caractères ou ws['B1'].Int32Value pour les entiers, et en appliquant des fonctions telles que Somme sur des plages de cellules.

Puis-je effectuer des opérations d'agrégation sur les données Excel en C#?

Oui, IronXL permet d'effectuer des opérations d'agrégation sur les données Excel en C# en utilisant des méthodes comme Sum(), Min() et Max() sur des plages de cellules spécifiées.

Est-il possible de convertir une feuille de calcul Excel en DataTable?

Oui, vous pouvez convertir une feuille de calcul Excel en DataTable en C# en utilisant la méthode ToDataTable() de IronXL, avec une option pour traiter la première rangée comme noms de colonnes.

Comment pouvez-vous utiliser un classeur Excel comme DataSet en C#?

Avec IronXL, un classeur Excel peut être utilisé comme DataSet en appelant la méthode ToDataSet(), permettant une manipulation complète des données.

Quels sont les avantages d'utiliser une bibliothèque pour la manipulation de fichiers Excel en C#?

Utiliser IronXL pour la manipulation de fichiers Excel en C# offre simplicité et efficacité, supportant divers formats Excel, permettant des opérations sur les données et fournissant des fonctionnalités comme la conversion des feuilles de calcul en DataTables.

Où puis-je trouver des ressources supplémentaires pour utiliser IronXL?

Vous pouvez trouver plus de ressources et de documentation sur la page de référence de l'API de IronXL, qui inclut des informations détaillées sur ses fonctionnalités, classes et méthodes.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,686,155 | Version : 2025.11 vient de sortir