Lesen Sie Daten in Excel Dateien mit C#

MS Excel Dateien werden häufig verwendet, um Daten in Form von Zeilen und Spalten zu speichern. Teilweise werden die großen Datensätze auch in Excel Dateien gepflegt. Häufig müssen Sie Excel Dateien lesen und Daten aus Ihren .NET Anwendungen abrufen. Um dies in wenigen einfachen Schritten zu erreichen, zeigt dieser Artikel, wie Sie eine Excel Datei in C# lesen. Insbesondere wird behandelt, wie eine ganze Excel Datei oder nur ein einzelnes Arbeitsblatt daraus gelesen werden kann.

C# Bibliothek zum Lesen von Excel Dateien

Um Daten aus den Arbeitsblättern zu lesen, verwenden wir Aspose.Cells for .NET. Es ist eine leistungsstarke und funktionsreiche API zum Erstellen und Bearbeiten von Excel Dateien. Darüber hinaus können Sie Excel Dateien ganz einfach lesen. Die API kann aus dem Downloadbereich heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Aspose.Cells

Lesen Sie eine Excel Datei in C#

In Excel Dateien werden die Daten in Zellen gespeichert, wobei jede Zelle durch ihren Namen (A1, B3 usw.) oder den Zeilen und Spaltenindex identifiziert wird. Die Sammlung von Zellen ergibt ein Arbeitsblatt, und eine Excel Datei kann einzelne oder mehrere Arbeitsblätter enthalten. Schließlich bilden alle Arbeitsblätter zusammen eine Arbeitsmappe. Aspose.Cells for .NET verwendet die gleichen Namenskonventionen, um Excel Dateien zu manipulieren.

Im Folgenden finden Sie die Schritte zum Lesen einer Excel Datei und zum Drucken ihrer Daten mit C#.

  • Laden Sie die Excel Datei mit der Klasse Workbook.
  • Erstellen Sie ein Objekt der Klasse WorksheetCollection und rufen Sie mithilfe von Workbook.Worksheets eine Referenz auf die Arbeitsblätter ab.
  • Starten Sie eine Schleife, um alle Arbeitsblätter in der Sammlung zu durchlaufen, und führen Sie bei jeder Iteration die folgenden Schritte aus:
    • Rufen Sie den Verweis auf das Arbeitsblatt in einem Worksheet objekt ab.
    • Rufen Sie die Anzahl der Datenzeilen und -spalten im Arbeitsblatt ab.
    • Starten Sie eine Schleife für Zeilen.
    • Starten Sie eine verschachtelte Schleife für Spalten.
    • Lesen Sie Daten aus jeder Zelle mit der Eigenschaft Worksheet.Cells[i, j].Value.

Das folgende Codebeispiel zeigt, wie eine Excel Datei in C# gelesen wird.

// Excel Datei laden
Workbook wb = new Workbook("excel.xlsx");

// Holen Sie sich alle Arbeitsblätter
WorksheetCollection collection = wb.Worksheets;

// Gehen Sie alle Arbeitsblätter durch
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{

    // Holen Sie sich das Arbeitsblatt mit seinem Index
    Worksheet worksheet = collection[worksheetIndex];

    // Arbeitsblattnamen drucken
    Console.WriteLine("Worksheet: " + worksheet.Name);

    // Holen Sie sich die Anzahl der Zeilen und Spalten
    int rows = worksheet.Cells.MaxDataRow;
    int cols = worksheet.Cells.MaxDataColumn;

    // Schleife durch die Reihen
    for (int i = 0; i < rows; i++)
    {

        // Durchlaufen Sie jede Spalte in der ausgewählten Zeile
        for (int j = 0; j < cols; j++)
        {
            // Pring-Zellwert
            Console.Write(worksheet.Cells[i, j].Value + " | ");
        }
        // Zeilenumbruch drucken
        Console.WriteLine(" ");
    }
}

Das Folgende ist die Ausgabe, die wir in der Konsole erhalten, nachdem wir das obige Codebeispiel ausgeführt haben.

Lesen von Daten in den Arbeitsblättern der Excel Datei in C#

Lesen einer Excel Datei in C#

Lesen Sie ein bestimmtes Arbeitsblatt in Excel in C#

Sie können auch nur ein bestimmtes Arbeitsblatt in der Excel Datei lesen, indem Sie die folgenden Schritte ausführen.

  • Laden Sie die Excel Datei mit der Klasse Workbook.
  • Rufen Sie mithilfe von Workbook.Worksheets[index] den Verweis auf das gewünschte Arbeitsblatt in einem Worksheet objekt ab.
  • Rufen Sie die Anzahl der Datenzeilen und -spalten im Arbeitsblatt ab.
  • Starten Sie eine Schleife für Zeilen.
  • Starten Sie eine verschachtelte Schleife für Spalten.
  • Lesen Sie Daten aus jeder Zelle mit der Eigenschaft Worksheet.Cells[i, j].Value.

Das folgende Codebeispiel zeigt, wie Daten aus einem bestimmten Arbeitsblatt in C# gelesen werden.

// Excel Datei laden
Workbook wb = new Workbook("excel.xlsx");

// Holen Sie sich das Arbeitsblatt mit seinem Index
Worksheet worksheet = wb.Worksheets[0];

// Arbeitsblattnamen drucken
Console.WriteLine("Worksheet: " + worksheet.Name);

// Holen Sie sich die Anzahl der Zeilen und Spalten
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;

// Schleife durch die Reihen
for (int i = 0; i < rows; i++)
{
    // Durchlaufen Sie jede Spalte in der ausgewählten Zeile
    for (int j = 0; j < cols; j++)
    {
        // Pring-Zellwert
        Console.Write(worksheet.Cells[i, j].Value + " | ");
    }
    // Zeilenumbruch drucken
    Console.WriteLine(" ");
}

Holen Sie sich eine kostenlose API Lizenz

Sie können Aspose.Cells for .NET ohne Evaluierungseinschränkungen verwenden, indem Sie eine kostenlose temporäre Lizenz erwerben.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Excel Dateien dynamisch in C# lesen. Mithilfe von Codebeispielen haben Sie gesehen, wie Sie Daten aus einem bestimmten Arbeitsblatt oder allen Arbeitsblättern in einer Excel Arbeitsmappe lesen. Darüber hinaus können Sie weitere Funktionen von Aspose.Cells for .NET mithilfe der Dokumentation erkunden. Falls Sie Fragen haben, können Sie uns diese gerne über unser Forum mitteilen.

Siehe auch