C# XLSX-Datei lesen

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

Um XLSX-Dateien in C# zu lesen, verwenden Sie die Methode WorkBook.Load von IronXL, um Excel-Dateien zu öffnen und auf Arbeitsblätter zuzugreifen, um Zelldaten zu lesen, Berechnungen durchzuführen und programmatisch in DataTable- oder DataSet-Formate zu konvertieren.

Schnellstart: Ein Arbeitsbuch laden und mühelos auf ein Arbeitsblatt zugreifen

Mit IronXL können Sie eine XLSX-Datei mit der Methode WorkBook.Load in einer einzigen Zeile laden. Dann greifen Sie sofort auf das erste oder benannte Arbeitsblatt zu und beginnen mit dem Lesen der Zellwerte.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronXL mit dem NuGet-Paketmanager.

    PM > Install-Package IronXL.Excel

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronXL in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Lesen von .XLSX-Dateien C#

  • Holen Sie sich IronXL für Ihr Projekt
  • Ein WorkBook laden
  • Zugriff auf Daten aus einem WorkSheet
  • Funktionen wie Summe, Min und Max anwenden
  • Ein WorkSheet als DataTable, DataSet und mehr lesen
How To Work related to C# XLSX-Datei lesen

Wie bekomme ich IronXL für mein Projekt?

Verwenden Sie IronXL in Ihrem Projekt für eine einfache Möglichkeit, mit Excel-Dateiformaten in C# zu arbeiten. Sie können IronXL entweder direkt herunterladen und installieren oder alternativ NuGet Install für Visual Studio verwenden. Die Software ist kostenlos für die Entwicklung.

Install-Package IronXL.Excel

Bevor Sie mit dem Lesen von XLSX-Dateien beginnen, sollten Sie die umfassende IronXL-Dokumentation lesen, um alle verfügbaren Funktionen zu verstehen. IronXL unterstützt sowohl das .xls- als auch das .xlsx-Format und ist damit vielseitig einsetzbar für ältere und moderne Excel-Dateien.


Anleitung zum Tutorial

Wie lade ich ein WorkBook?

WorkBook ist die Klasse von IronXL, deren Objekt vollen Zugriff auf die Excel-Datei und alle ihre Funktionen bietet. Um zum Beispiel auf eine Excel-Datei zuzugreifen, verwenden Sie den 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

Warum die Methode WorkBook.Load() verwenden?

Im obigen Code lädt die Funktion WorkBook.Load() die Datei sample.xlsx in workBook. Jede Art von Funktion kann auf workBook ausgeführt werden, indem auf das spezifische WorkSheet einer Excel-Datei zugegriffen wird. Die Methode WorkBook.Load erkennt automatisch das Dateiformat, egal ob es sich um XLS, XLSX, XLSM, XLTX oder CSV handelt. Für fortgeschrittene Ladeszenarien lesen Sie bitte die ausführliche Anleitung zum Laden von Tabellenkalkulationen.


Wie greife ich auf ein bestimmtes WorkSheet zu?

Um auf ein bestimmtes Arbeitsblatt einer Excel-Datei zuzugreifen, bietet IronXL die Klasse Arbeitsblatt. Sie kann auf verschiedene Weise verwendet werden:

Welche sind die verschiedenen Möglichkeiten, auf ein Arbeitsblatt zuzugreifen?

: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 ist das WorkBook, das im obigen Abschnitt angegeben ist.

ODER

: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

ODER

: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

ODER

: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

ODER

: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

Wann sollte ich die einzelnen Methoden für den Zugriff auf Arbeitsblätter verwenden?

Jede Methode hat ihren idealen Anwendungsfall:

  • GetWorkSheet("name"): Wenn Sie den genauen Blattnamen kennen
  • WorkSheets[index]: Um programmatisch durch Arbeitsblätter zu iterieren
  • DefaultWorkSheet: Schneller Zugriff bei der Arbeit mit Einzelblattdateien
  • First() oder FirstOrDefault(): Sichere Optionen, wenn sich Blattnamen ändern können

Nachdem Sie das ExcelSheet workSheet erhalten haben, können Sie alle Arten von Daten daraus abrufen und alle Excel-Funktionen darauf anwenden. Komplexere Arbeitsblattoperationen finden Sie in der Anleitung zum Öffnen von Excel-Arbeitsblättern in C#.


Wie greife ich auf Daten aus einem WorkSheet zu?

Daten können mit diesem Prozess aus dem ExcelSheet workSheet abgerufen werden:

Welche Datentypen kann ich aus Zellen lesen?

: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

IronXL bietet verschiedene Wertzugriffsmöglichkeiten für unterschiedliche Datentypen:

  • StringValue: Für Textdaten
  • Int32Value: Für ganze Zahlen
  • DoubleValue: Für Dezimalzahlen
  • DateTimeValue: Für Datumsangaben
  • BoolValue: Für wahre/falsche Werte

Wie kann ich mehrere Zellen auf einmal lesen?

Sie können auch Daten aus mehreren Zellen einer bestimmten Spalte abrufen:

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

Dies zeigt die Werte von Zelle A2 bis A10 an. Weitere fortgeschrittene Techniken zur Bereichsauswahl finden Sie im Tutorial zur Bereichsauswahl.

Wie sieht eine vollständige Implementierung aus?

Ein vollständiges Code-Beispiel für die oben genannten Angaben finden Sie hier:

: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

Sie zeigt das folgende Ergebnis an:

Die Konsolenausgabe zeigt die extrahierten Arbeitsblattdaten mit den Werten für Behörden, Privatkunden, mittelständische Unternehmen und Vertriebspartner

Mit der Excel-Datei Sample.xlsx:

Excel-Tabelle mit Geschäftsdaten mit den Spalten Segment, Land, Produkt und Rabattstaffel in 16 Zeilen

Diese Methoden zeigen, wie mühelos es ist, Daten aus Excel-Dateien in Ihrem Projekt zu verwenden. Praktische Beispiele für das Lesen von Excel-Dateien ohne Interop finden Sie auf der Seite Excel-Beispiele lesen.


Wie kann ich Funktionen auf Daten anwenden?

Greifen Sie auf gefilterte Daten aus einem Excel Arbeitsblatt zu, indem Sie Aggregatfunktionen wie Summe, Min oder Max mit dem folgenden Code anwenden:

Welche Aggregatfunktionen sind verfügbar?

: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

IronXL unterstützt zahlreiche mathematische Funktionen, darunter:

  • Durchschnitt(): Berechne den Mittelwert
  • Count(): Nicht leere Zellen zählen
  • CountIf(): Zellen zählen, die Kriterien erfüllen
  • Median(): Den Mittelwert finden
  • StdDev(): Berechnen der Standardabweichung

Wie kann ich mehrere Funktionen zusammen implementieren?

Weitere Einzelheiten finden Sie in unserem ausführlichen Tutorial zum Schreiben von C#-Excel-Dateien mit speziellen Informationen zu Aggregatfunktionen. Sie können auch die vollständige Liste der in IronXL verfügbaren Mathe-Funktionen einsehen.

: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

Dieser Code zeigt die folgende Ausgabe an:

Terminal mit den Ergebnissen der Datenanalyse: Summe=482, Min=12, Max=350 auf schwarzem Hintergrund

Und so sieht die Excel-Datei Muster.xlsx aus:

Excel-Tabelle mit Verkaufsdaten, die Segmente, Länder, Produkte, verkaufte Einheiten und Preise in mehreren Zeilen zeigen

Wie lese ich ein Excel-Arbeitsblatt als DataTable?

Mit IronXL ist es einfach, mit einem Excel Arbeitsblatt als DataTable zu arbeiten. Diese Funktion ist besonders nützlich, wenn Sie Excel-Daten in bestehende Datenverarbeitungspipelines integrieren oder Daten an UI-Steuerelemente binden müssen.

Was ist die grundlegende Konvertierungsmethode?

: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

Wie kann ich die erste Zeile als Spaltenüberschrift verwenden?

So verwenden Sie die erste Zeile von ExcelSheet als DataTable ColumnName:

: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

Der boolesche Parameter von ToDataTable() setzt die erste Zeile als Spaltennamen Ihrer DataTable. Standardmäßig ist der Wert auf False gesetzt. Dies ist besonders nützlich bei der Arbeit mit strukturierten Daten, die Kopfzeilen enthalten.

Wie iteriere ich durch die DataTable?

: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

Mithilfe des obigen Codes kann auf jeden Zellwert des Arbeitsblatts zugegriffen und dieser nach Bedarf verwendet werden. Für fortgeschrittene DataTable-Operationen siehe die Anleitung zum Importieren und Exportieren als DataSet.


Wie lese ich eine Excel-Datei als DataSet?

IronXL bietet eine einfache Funktion, um eine komplette Excel-Datei (WorkBook) als DataSet zu verwenden. Verwenden Sie die Methode ToDataSet, um die gesamte Arbeitsmappe in ein DataSet zu verwandeln.
In diesem Beispiel werden wir sehen, wie man die Excel-Datei als ein DataSet verwendet.

Wie kann ich eine Arbeitsmappe in ein DataSet konvertieren?

: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

Die Ausgabe des obigen Codes sieht wie folgt aus:

Beschädigter oder unvollständiger Screenshot, der nur die Beschriftungen Sheet1, Sheet2, Sheet3 zeigt

Und die Excel-Datei Muster.xlsx sieht so aus:

Excel-Tabelle mit einer Arbeitsmappe mit mehreren Blättern, die Geschäftsdaten für verschiedene Marktsegmente und Länder enthält

Wie kann ich auf jeden Zellwert in allen Arbeitsblättern zugreifen?

Im obigen Beispiel können wir eine Excel-Datei einfach in ein DataSet parsen und mit jedem Arbeitsblatt einer Excel-Datei als DataTable arbeiten. Hier erfahren Sie anhand von Code-Beispielen, wie man Excel als DataSet parsen kann.

Sehen wir ein weiteres Beispiel, wie man jeden Zellwert aller ExcelSheets abruft. Hier können wir auf jeden Zellwert jedes Arbeitsblattes einer Excel-Datei zugreifen.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// DIESE CODE-AUSZUG IST NICHT VERFÜGBAR!
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Anhand des obigen Beispiels ist es praktisch, auf jeden Zellwert jedes Arbeitsblatts einer Excel-Datei zuzugreifen. Dieser Ansatz ist besonders nützlich, wenn Sie mit Arbeitsmappen mit mehreren Blättern arbeiten, bei denen die Daten auf verschiedene Registerkarten verteilt sind.

Weitere Informationen zum Lesen von Excel-Dateien ohne Interop finden Sie im Code hier. Die API-Referenzdokumentation bietet umfassende Details über alle verfügbaren Methoden und Eigenschaften auf der IronXL API-Referenz.


Tutorial Schnellzugriff

API-Referenz für IronXL

Lesen Sie mehr über die Funktionen, Klassen, Methodenfelder, Namespaces und Enums von IronXL in der Dokumentation.

API-Referenz für IronXL
Documentation related to Tutorial Schnellzugriff

Häufig gestellte Fragen

Wie lese ich XLSX-Dateien in C#?

Um XLSX-Dateien in C# zu lesen, verwenden Sie die Methode WorkBook.Load von IronXL. Laden Sie einfach die Excel-Datei mit IronXL.WorkBook.Load("your-file.xlsx") und greifen Sie dann auf die Arbeitsblätter zu, um Zelldaten zu lesen, Berechnungen durchzuführen und programmatisch in DataTable- oder DataSet-Formate zu konvertieren.

Welche Dateiformate werden beim Laden von Excel-Dateien unterstützt?

IronXL unterstützt mehrere Excel-Dateiformate, einschließlich .xls, .xlsx, .xlsm, .xltx und .csv-Dateien. Die WorkBook.Load-Methode erkennt das Dateiformat automatisch, so dass es sowohl für ältere als auch für moderne Excel-Dateien geeignet ist.

Wie kann ich die Excel-Lesebibliothek für mein C#-Projekt installieren?

Sie können IronXL entweder direkt herunterladen oder über NuGet Install for Visual Studio installieren. Die Software ist für Entwicklungszwecke kostenlos und bietet eine einfache Möglichkeit, mit Excel-Dateiformaten in C# zu arbeiten.

Welche verschiedenen Möglichkeiten gibt es, auf ein bestimmtes Arbeitsblatt zuzugreifen?

IronXL bietet mehrere Möglichkeiten, auf Arbeitsblätter zuzugreifen: Sie können workBook.GetWorkSheet("SheetName") verwenden, um über den Namen zuzugreifen, workBook.WorkSheets[0], um über den Index zuzugreifen, oder workBook.WorkSheets.First(), um das erste Arbeitsblatt zu erhalten.

Kann ich nach dem Laden der Excel-Daten Berechnungen mit diesen durchführen?

Ja, nachdem Sie eine XLSX-Datei mit IronXL geladen haben, können Sie verschiedene Funktionen wie Summe, Min und Max auf die Daten anwenden. Die Bibliothek bietet vollen Zugriff auf die Funktionalität von Excel-Dateien über das WorkBook-Objekt.

Ist es möglich, Excel-Arbeitsblattdaten in andere Formate zu konvertieren?

Ja, IronXL ermöglicht es Ihnen, ein Arbeitsblatt zu lesen und es in verschiedene Formate wie DataTable, DataSet und andere zu konvertieren. Dies macht es einfach, Excel-Daten in Ihre C#-Anwendungen zu integrieren.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,765,830 | Version: 2025.12 gerade veröffentlicht