Lire des données dans des fichiers Excel à l'aide de C#

Les fichiers MS Excel sont largement utilisés pour stocker des données sous forme de lignes et de colonnes. Dans divers cas, les grands ensembles de données sont également conservés dans des fichiers Excel. Souvent, vous devez lire des fichiers Excel et récupérer des données à partir de vos applications .NET. Pour y parvenir en quelques étapes simples, cet article montre comment lire un fichier Excel en C#. En particulier, il explique comment lire un fichier Excel entier ou une seule feuille de calcul à partir de celui-ci.

Bibliothèque C# pour lire des fichiers Excel

Pour lire les données des feuilles de calcul, nous utiliserons Aspose.Cells for .NET. Il s’agit d’une API puissante et riche en fonctionnalités pour créer et manipuler des fichiers Excel. De plus, il permet de lire assez facilement des fichiers Excel. L’API peut être téléchargée depuis la section téléchargements ou installée via NuGet.

PM> Install-Package Aspose.Cells

Lire un fichier Excel en C#

Dans les fichiers Excel, les données sont stockées dans des cellules où chaque cellule est identifiée par son nom (A1, B3, etc.) ou l’index de ligne et de colonne. La collection de cellules constitue une feuille de calcul et un fichier Excel peut contenir une ou plusieurs feuilles de calcul. Enfin, toutes les feuilles de travail forment collectivement un classeur. Aspose.Cells for .NET utilise les mêmes conventions de dénomination pour manipuler les fichiers Excel.

Voici les étapes pour lire un fichier Excel et imprimer ses données à l’aide de C#.

  • Chargez le fichier Excel à l’aide de la classe Workbook.
  • Créez un objet de la classe WorksheetCollection et obtenez la référence des feuilles de calcul à l’aide de Workbook.Worksheets.
  • Démarrez une boucle pour parcourir toutes les feuilles de calcul de la collection et à chaque itération, effectuez les étapes suivantes :
    • Récupère la référence de la feuille de calcul dans un objet Worksheet.
    • Obtenez le nombre de lignes et de colonnes de données dans la feuille de calcul.
    • Démarrer une boucle pour les lignes.
    • Démarrer une boucle imbriquée pour les colonnes.
    • Lisez les données de chaque cellule à l’aide de la propriété Worksheet.Cells[i, j].Value.

L’exemple de code suivant montre comment lire un fichier Excel en C#.

// Charger le fichier Excel
Workbook wb = new Workbook("excel.xlsx");

// Obtenir toutes les feuilles de travail
WorksheetCollection collection = wb.Worksheets;

// Parcourez toutes les feuilles de calcul
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{

    // Obtenir une feuille de calcul en utilisant son index
    Worksheet worksheet = collection[worksheetIndex];

    // Imprimer le nom de la feuille de calcul
    Console.WriteLine("Worksheet: " + worksheet.Name);

    // Obtenir le nombre de lignes et de colonnes
    int rows = worksheet.Cells.MaxDataRow;
    int cols = worksheet.Cells.MaxDataColumn;

    // Boucle à travers les lignes
    for (int i = 0; i < rows; i++)
    {

        // Boucle sur chaque colonne de la ligne sélectionnée
        for (int j = 0; j < cols; j++)
        {
            // Valeur de la cellule Pring
            Console.Write(worksheet.Cells[i, j].Value + " | ");
        }
        // Imprimer le saut de ligne
        Console.WriteLine(" ");
    }
}

Voici la sortie que nous obtenons dans la console après avoir exécuté l’exemple de code ci-dessus.

Lecture de données dans les feuilles de calcul du fichier Excel en C#

Lire un fichier Excel en C#

Lire une feuille de calcul particulière dans Excel en C#

Vous pouvez également lire uniquement une feuille de calcul particulière dans le fichier Excel en suivant les étapes ci-dessous.

  • Chargez le fichier Excel à l’aide de la classe Workbook.
  • Obtenez la référence de la feuille de calcul souhaitée dans un objet Worksheet à l’aide de Workbook.Worksheets[index].
  • Obtenez le nombre de lignes et de colonnes de données dans la feuille de calcul.
  • Démarrer une boucle pour les lignes.
  • Démarrer une boucle imbriquée pour les colonnes.
  • Lisez les données de chaque cellule à l’aide de la propriété Worksheet.Cells[i, j].Value.

L’exemple de code suivant montre comment lire les données d’une feuille de calcul particulière en C#.

// Charger le fichier Excel
Workbook wb = new Workbook("excel.xlsx");

// Obtenir une feuille de calcul en utilisant son index
Worksheet worksheet = wb.Worksheets[0];

// Imprimer le nom de la feuille de calcul
Console.WriteLine("Worksheet: " + worksheet.Name);

// Obtenir le nombre de lignes et de colonnes
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;

// Boucle à travers les lignes
for (int i = 0; i < rows; i++)
{
    // Boucle sur chaque colonne de la ligne sélectionnée
    for (int j = 0; j < cols; j++)
    {
        // Valeur de la cellule Pring
        Console.Write(worksheet.Cells[i, j].Value + " | ");
    }
    // Imprimer le saut de ligne
    Console.WriteLine(" ");
}

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Cells for .NET sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à lire dynamiquement des fichiers Excel en C#. À l’aide d’exemples de code, vous avez vu comment lire les données d’une feuille de calcul particulière ou de toutes les feuilles de calcul d’un classeur Excel. De plus, vous pouvez explorer d’autres fonctionnalités d’Aspose.Cells for .NET à l’aide de la documentation. Si vous avez des questions, n’hésitez pas à nous le faire savoir via notre forum.

Voir également