Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment récupérer des données d'une feuille Excel en C#

IronXL is a feature-rich API that provides various functionalities to work with Excel files in C#. This tutorial will explore how to fetch data from Excel sheets in C# using IronXL.

To follow this tutorial, you need to have the following:

  • Microsoft Visual Studio installed on your machine
  • Basic knowledge of C# programming
  • IronXL library installed in your project

You can download IronXL from the official website or through the NuGet Package Manager in Visual Studio.

Installing IronXL in Visual Studio

To install IronXL on a C# project, please follow these steps:

  1. Open Microsoft Visual Studio.
  2. Create a new project or open an existing project.
  3. Right-click on the project in the Solution Explorer and select "Manage NuGet Packages."
  4. In the "NuGet Package Manager" window, select the "Browse" tab.
  5. In the search box, type "IronXL" and press Enter.
  6. Select "IronXL.Excel" and click the "Install" button.
  7. Click the "I Accept" button to accept the license agreement.
  8. Wait for the installation to complete.

How to Fetch Data From Excel Sheet in C#, Figure 1: Installing the IronXL Library in Visual Studio Project Installing the IronXL Library in Visual Studio Project

Once these steps are taken, IronXL should be installed and ready to use in your C# project.

Step 1: Import the Required Libraries

Add the following sample code to import the IronXL library and other necessary libraries.

using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
$vbLabelText   $csharpLabel

Using the IronXL namespace provides all the necessary classes and functions to work with Excel files using the IronXL library.

Step 2: Load the Excel File

The first step is to load the file. IronXL provides a WorkBook class to load an Excel file. We can use the WorkBook class to open an existing Excel file or create a new workbook.

To load an existing Excel file, use the following code:

WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
Dim workbook As WorkBook = WorkBook.Load("path/to/excel/file.xlsx")
$vbLabelText   $csharpLabel

This code loads the specified Excel file into a WorkBook object.

To create a new WorkBook, use the following sample code:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

This code creates a new workbook in the specified file format (here, XLSX).

How to Fetch Data From Excel Sheet in C#, Figure 3: IronXL can load and create Excel Spreadsheets in the .XLS and the .XLSX file formats IronXL can load and create Excel Spreadsheets in the .XLS and the .XLSX file formats

Step 3: Retrieve the Excel Sheet

After loading the Excel file, it is necessary to indicate the Excel sheet from which to fetch data. A WorkBook can contain multiple WorkSheet objects. Each WorkSheet needs to specify the name of the worksheet before accessing data.

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

This code retrieves the first worksheet (with worksheet name Sheet1) from the workbook. If you want to retrieve a worksheet by index, you can use the following code:

WorkSheet worksheet = workbook.WorkSheets[0];
WorkSheet worksheet = workbook.WorkSheets[0];
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
$vbLabelText   $csharpLabel

This code retrieves the first worksheet from the workbook, assuming that it exists.

Step 4: Retrieve Data from Excel Sheet

From the retrieved Excel sheet, accessing data becomes possible. IronXL provides various methods to retrieve data from an Excel sheet. Here are some of the most commonly used methods:

  • Indexer operator []: Retrieves the value of a single cell.
  • GetRow: Retrieves a single row of data.
  • GetColumn: Retrieves a single column of data.
  • GetRange: Retrieves a range of cells.

To retrieve a single cell's value, use the following code:

object value = worksheet["A1"].Value;
object value = worksheet["A1"].Value;
Dim value As Object = worksheet("A1").Value
$vbLabelText   $csharpLabel

This code retrieves the value of cell A1 in the worksheet.

To retrieve a single row of data, use the following code:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
$vbLabelText   $csharpLabel

This code retrieves the first row of data in the worksheet.

To retrieve a single column of data, use the following code:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
$vbLabelText   $csharpLabel

This code retrieves the first column of data in the worksheet.

To retrieve a range of cells, use the following code:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
$vbLabelText   $csharpLabel

This code retrieves the range of cells from A1 to B2 in the worksheet.

Step 5: Extract Data from Excel Sheet

To extract a single value from the retrieved data, it needs to be cast to the appropriate data type.

The following code shows how to extract an integer value from cell A1:

int value = worksheet["A1"].IntValue;
int value = worksheet["A1"].IntValue;
Dim value As Integer = worksheet("A1").IntValue
$vbLabelText   $csharpLabel

The following code can be used to extract a row of data:

var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	' Do something with the extracted value
Next value
$vbLabelText   $csharpLabel

This code extracts the first row of data and iterates through the values in the row, casting each value to an integer.

Next, the following code shows how to extract a column of data:

var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	' Do something with the extracted value
Next value
$vbLabelText   $csharpLabel

This code extracts the first column of data and iterates through the values in the column, casting each value to a string.

The next example demonstrates how to extract a range of cells:

var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		' Do something with the extracted value
	Next value
Next row
$vbLabelText   $csharpLabel

This code extracts the range of cells from A1 to B2 and iterates through the values in each cell.

Conclusion

This tutorial explored how to fetch data from Excel sheets in C# using IronXL, as well as load an Excel file, retrieve the required worksheet, retrieve data from the worksheet, extract data, and import data to a database. IronXL provides a feature-rich API to work with Excel files, making it easy to integrate Excel data into C# applications. With IronXL, we can read and write Excel files and interact with their data programmatically. Additionally, we can use IronXL to automate Excel tasks, such as generating reports, creating charts, and formatting cells.

More about IronXL

IronXL is a user-friendly and convenient library for reading and writing to Excel & CSV files, with small and easily memorable functions.

This tutorial only scratched the surface of what IronXL can do. IronXL provides a wide range of additional features, such as cell formatting, math functions, and conditional formatting to name a few.

Notable Benefits of Using IronXL

  • Dedicated support from .NET engineers, cross-platform supports, Azure, AWS, and Docker.
  • Simple installation via Microsoft Visual Studio
  • Free trial for development, with licenses starting at $799
  • Easy integration into C# or VB.NET projects

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Comment puis-je récupérer des données à partir d'une feuille Excel en C# sans Interop?

Vous pouvez utiliser IronXL pour récupérer des données de feuilles Excel en C# en chargeant le fichier Excel avec la classe WorkBook et en accédant aux données avec des méthodes comme GetRow(), GetColumn(), et GetRange().

Quelles sont les prérequis pour utiliser IronXL pour manipuler des fichiers Excel en C#?

Vous avez besoin de Microsoft Visual Studio, des connaissances de base en programmation C#, et de la bibliothèque IronXL installée via le gestionnaire de packages NuGet pour manipuler des fichiers Excel en C#.

Comment puis-je installer IronXL dans mon projet Visual Studio?

Pour installer IronXL, ouvrez Visual Studio, faites un clic droit sur votre projet dans l'Explorateur de solutions, sélectionnez 'Gérer les packages NuGet,' et cherchez 'IronXL' dans l'onglet Parcourir. Cliquez sur 'Installer' pour l'ajouter à votre projet.

Comment puis-je charger un fichier Excel en utilisant IronXL?

Utilisez la classe WorkBook pour charger un fichier Excel. Par exemple, WorkBook workbook = WorkBook.Load("chemin/vers/fichier/excel.xlsx");

Comment puis-je récupérer une feuille de calcul spécifique à partir d'un classeur en utilisant IronXL?

Vous pouvez récupérer une feuille de calcul en utilisant son nom : WorkSheet worksheet = workbook.WorkSheets["Sheet1"]; ou par index : WorkSheet worksheet = workbook.WorkSheets[0];

Comment puis-je extraire des données d'une cellule en utilisant IronXL?

Utilisez l'index de la cellule pour récupérer sa valeur, par exemple, object value = worksheet["A1"].Value; et convertissez-la au type de données approprié.

IronXL peut-il fonctionner avec les formats de fichiers .XLS et .XLSX?

Oui, IronXL peut charger et créer des tableurs Excel dans les formats de fichiers .XLS et .XLSX.

Comment puis-je extraire une plage de cellules en utilisant IronXL?

Pour extraire une plage de cellules, utilisez var cellRange = worksheet.GetRange("A1:B2"); et parcourez les valeurs.

Quels sont les avantages d'utiliser IronXL?

IronXL offre un support dédié par des ingénieurs .NET, un support multiplateforme, une installation simple via Visual Studio, un essai gratuit, et une intégration facile dans des projets C# ou VB.NET.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite