Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Der beste Weg, Excel-Dateien in C# mit IronXL zu lesen

Hallo Leute, wenn ihr auf der Suche nach dem besten Weg seid, Excel-Dateien in C# zu lesen, ohne dass ihr eine komplexe Einrichtung vornehmen müsst, ist dieses Tutorial genau das Richtige für euch. IronXL ist eine .NET-Bibliothek, die das Verwalten von Excel-Dateien bemerkenswert einfach macht, und das Beste daran? Sie müssen kein Microsoft Excel auf Ihrem System installiert haben.

Die programmatische Arbeit mit Microsoft Excel-Dateien ist traditionell eine Herausforderung. Viele Bibliotheken erfordern Office-Abhängigkeiten oder erzeugen langatmigen, fehleranfälligen Code. IronXL ändert dies durch die Bereitstellung einer sauberen, intuitiven API, die XLSX-, XLS- und CSV-Dateien mit minimalem Aufwand verarbeitet. Bereit zum Start? Registrieren Sie sich für eine kostenlose Testversion und machen Sie mit.

Was ist der beste Weg, um Excel-Dateien in C# zu lesen?

Der beste Weg, Excel-Dateien in C# zu lesen, ist die Verwendung einer speziellen Bibliothek wie IronXL, die unabhängig von Microsoft Office arbeitet. Dieser Ansatz hat sich sowohl bei .NET Framework- als auch bei .NET Core-Projekten bewährt und ermöglicht es den Benutzern, Tabellenkalkulationsdaten ohne Versionskompatibilitätsprobleme zu analysieren.

IronXL ist im Grunde ein Excel-Reader, der eine komplette Datei in ein Workbook-Objekt lädt und Ihnen so direkten Zugriff auf jedes Arbeitsblatt, jede Zeile, Spalte und Zelle ermöglicht. Im Gegensatz zu XML-basierten Lösungen, die die Verwaltung versteckter Komplexität erfordern, können Sie mit der API von IronXL auf Zellen in der vertrauten Excel-Notation wie sheet["A1"] verweisen oder mit foreach-Schleifen durch Bereiche iterieren.

Starten Sie jetzt mit IronXL.
green arrow pointer

Wie installiere ich die Excel Reader Library in Visual Studio?

Die Installation erfolgt in Sekundenschnelle über NuGet in Visual Studio. Führen Sie diesen Befehl in der Paketmanager-Konsole aus:

Install-Package IronXL.Excel

Die Bibliothek unterstützt mehrere .NET-Versionen, so dass IronXL nahtlos integriert werden kann, egal ob Ihre Anwendung auf .NET Framework 4.6.2+ oder .NET Core 3.1+ abzielt. Nach der Installation fügen Sie die IronXL-Referenz zu Ihrer Codedatei hinzu und schon können Sie Excel-Dateien lesen.

Wie kann ich eine Excel-Arbeitsmappe laden und lesen?

Das Laden einer Excel-Arbeitsmappe erfordert nur eine einzige Codezeile. Die Methode WorkBook.Load akzeptiert einen Dateinamen und erkennt automatisch das Format. XLSX-, XLS- oder CSV-Dateien funktionieren alle identisch.

class Program
{
    public static void Main(string[] args)
    {
        // Load an Excel workbook from file
        WorkBook workbook = WorkBook.Load("financial_report.xlsx");
        // Access the first worksheet by index
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Or get a specific sheet by name
        WorkSheet dataSheet = workbook.GetWorkSheet("Expenses");
        Console.WriteLine($"Loaded workbook with {workbook.WorkSheets.Count} sheets");
    }
}
class Program
{
    public static void Main(string[] args)
    {
        // Load an Excel workbook from file
        WorkBook workbook = WorkBook.Load("financial_report.xlsx");
        // Access the first worksheet by index
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Or get a specific sheet by name
        WorkSheet dataSheet = workbook.GetWorkSheet("Expenses");
        Console.WriteLine($"Loaded workbook with {workbook.WorkSheets.Count} sheets");
    }
}
$vbLabelText   $csharpLabel

Konsolenbestätigung für geladene Arbeitsmappe

Best Way to Read Excel File in C# with IronXL: Image 1 - Console output for confirmation of loaded workbook

Das WorkBook-Objekt repräsentiert die gesamte Excel-Arbeitsmappe, während jede WorkSheet-Instanz einem einzelnen Blatt innerhalb dieser Arbeitsmappe entspricht. Diese Struktur spiegelt wider, wie Excel-Formate Daten organisieren, so dass die API für Entwickler, die bereits mit Tabellenkalkulationskonzepten vertraut sind, intuitiv ist.

Wenn die Datei geladen wird, analysiert IronXL alle Zellen, Formeln und Formatierungen im Speicher. Sie können dann Werte lesen, Inhalte ändern oder Änderungen auf der Festplatte speichern. Weitere Informationen zu den Ladeoptionen finden Sie in der Dokumentation Load spreadsheet.

Wie lese ich Zellwerte aus einem Excel-Arbeitsblatt?

Das Lesen von Zellen beinhaltet den Zugriff auf sie über die Adresse oder die Iteration durch Bereiche. IronXL bietet stark typisierte Eigenschaften wie StringValue, IntValue und DecimalValue, um Zelldaten in den richtigen Systemtyp zu parsen.

using IronXL;
using System;
WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read individual cell values with type conversion
string productName = sheet["A2"].StringValue;
int quantity = sheet["B2"].IntValue;
decimal price = sheet["C2"].DecimalValue;
// Check for null or empty cells before processing
var cell = sheet["D2"];
if (cell.Value != null)
{
    Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price}");
}
// Access cells using row and column index (zero-based)
int columnIndex = 0;
var firstCell = sheet.Rows[1].Columns[columnIndex];
using IronXL;
using System;
WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read individual cell values with type conversion
string productName = sheet["A2"].StringValue;
int quantity = sheet["B2"].IntValue;
decimal price = sheet["C2"].DecimalValue;
// Check for null or empty cells before processing
var cell = sheet["D2"];
if (cell.Value != null)
{
    Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price}");
}
// Access cells using row and column index (zero-based)
int columnIndex = 0;
var firstCell = sheet.Rows[1].Columns[columnIndex];
$vbLabelText   $csharpLabel

Ausgabe

Best Way to Read Excel File in C# with IronXL: Image 2 - Simple Excel read output with IronXL

Jedes Zellenobjekt enthält den Rohwert plus Metadaten zur Formatierung. Der Ansatz int columnIndex eignet sich gut, wenn Sie einen programmatischen Spaltenzugriff anstelle von buchstabenbasierten Referenzen benötigen. Wenn eine Zelle eine Formel enthält, wertet IronXL diese aus und gibt das berechnete Ergebnis zurück.

Wie kann ich durch Zeilen und Zellen iterieren?

Bei der Verarbeitung einer ganzen Datei werden in der Regel Schleifen durch Zeilen und Zellen gezogen. Das foreach-Muster macht diese Übersetzung elegant und lesbar, perfekt für Datenextraktion oder Validierungsaufgaben.

using IronXL;
using System;
 WorkBook workbook = WorkBook.Load(@"financial_report.xlsx");
 WorkSheet sheet = workbook.WorkSheets[0];
 // Skip column headers in first row, process data rows
 foreach (var row in sheet["A2:D7"])
 {
     Console.WriteLine($"Cell {row.AddressString}: {row.Text}");
 }
 // Iterate through specific row range
 for (int i = 1; i < sheet.Rows.Length; i++)
 {
     var currentRow = sheet.Rows[i];
     // Access each column in the row
     foreach (var cell in currentRow)
     {
         if (cell.Value != null)
         {
             Console.Write($"{cell.StringValue}\t");
         }
     }
     Console.WriteLine();
 }
using IronXL;
using System;
 WorkBook workbook = WorkBook.Load(@"financial_report.xlsx");
 WorkSheet sheet = workbook.WorkSheets[0];
 // Skip column headers in first row, process data rows
 foreach (var row in sheet["A2:D7"])
 {
     Console.WriteLine($"Cell {row.AddressString}: {row.Text}");
 }
 // Iterate through specific row range
 for (int i = 1; i < sheet.Rows.Length; i++)
 {
     var currentRow = sheet.Rows[i];
     // Access each column in the row
     foreach (var cell in currentRow)
     {
         if (cell.Value != null)
         {
             Console.Write($"{cell.StringValue}\t");
         }
     }
     Console.WriteLine();
 }
$vbLabelText   $csharpLabel

Best Way to Read Excel File in C# with IronXL: Image 3 - Output for iterating through rows

Die Bereichssyntax ["A2:D100"] erzeugt eine iterierbare Sammlung von Zellen. Mit diesem Ansatz können große Tabellenkalkulationen effizient bearbeitet werden, ohne unnötige Daten zu laden. Sie können auch direkt auf die Sammlungen Rows und Columns zugreifen, wenn Sie eine zeilen- oder spaltenweise Verarbeitung benötigen.

Wie kann ich mehrere Excel-Formate analysieren?

IronXL verarbeitet verschiedene Excel-Formate transparent. Unabhängig davon, ob Sie alte XLS-Dateien, moderne XLSX-Dateien oder einfache CSV-Dateien lesen, funktioniert der gleiche Code in allen Formaten.

using IronXL;
// Load different format types - the API remains consistent
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook = WorkBook.Load("Legacy.xls");
WorkBook csvBook = WorkBook.Load("Data.csv");
// All workbooks expose identical worksheet access
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;
// Write to different formats
xlsxBook.SaveAs("Output.csv");
csvBook.SaveAs("Converted.xlsx");
using IronXL;
// Load different format types - the API remains consistent
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook = WorkBook.Load("Legacy.xls");
WorkBook csvBook = WorkBook.Load("Data.csv");
// All workbooks expose identical worksheet access
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;
// Write to different formats
xlsxBook.SaveAs("Output.csv");
csvBook.SaveAs("Converted.xlsx");
$vbLabelText   $csharpLabel

Diese Formatflexibilität erweist sich als hilfreich, wenn Ihr Programm Dateien aus verschiedenen Quellen verarbeiten muss. Die Bibliothek erkennt Excel-Formate automatisch anhand von Dateierweiterungen und Inhaltskopfzeilen, so dass Sie keine formatspezifischen Codepfade benötigen. Bei CSV-Dateien beachtet IronXL gängige Konventionen wie Komma-Begrenzungszeichen und Werte in Anführungszeichen.

Welche erweiterten Operationen kann ich durchführen?

IronXL unterstützt nicht nur das Lesen, sondern auch Aggregatberechnungen, LINQ-Abfragen und Datenmanipulation. Diese fortschrittlichen Funktionen verwandeln rohe Tabellenkalkulationsdaten in umsetzbare Erkenntnisse.

using IronXL;
using System;
using System.Linq;
WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Calculate sum of values in a range
decimal totalSales = sheet["B2:B50"].Sum();
// Use LINQ for advanced queries
decimal maxValue = sheet["C2:C50"].Max(c => c.DecimalValue);
var highValues = sheet["C2:C50"].Where(c => c.DecimalValue > 1000);
// Create instance of calculated results
Console.WriteLine($"Total: {totalSales}, Maximum: {maxValue}");
// Modify and save changes
sheet["D2"].Value = totalSales;
workbook.Save();
using IronXL;
using System;
using System.Linq;
WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Calculate sum of values in a range
decimal totalSales = sheet["B2:B50"].Sum();
// Use LINQ for advanced queries
decimal maxValue = sheet["C2:C50"].Max(c => c.DecimalValue);
var highValues = sheet["C2:C50"].Where(c => c.DecimalValue > 1000);
// Create instance of calculated results
Console.WriteLine($"Total: {totalSales}, Maximum: {maxValue}");
// Modify and save changes
sheet["D2"].Value = totalSales;
workbook.Save();
$vbLabelText   $csharpLabel

Erweiterte Ausgabe von Lesevorgängen

Best Way to Read Excel File in C# with IronXL: Image 4 - Advanced Reading Operations Console Output

Die LINQ-Kompatibilität ermöglicht eine leistungsstarke Datenverarbeitung, ohne dass manuelle Schleifen geschrieben werden müssen. Sie können Zellwerte mithilfe vertrauter C#-Muster filtern, sortieren und aggregieren. Bei Tabellen mit Spaltenüberschriften kann IronXL die Daten sogar anhand des Namens der Überschrift und nicht anhand der Zelladresse referenzieren.

Diese Fähigkeiten zeigen, dass IronXL nicht nur ein Excel-Reader ist, sondern eine komplette Bibliothek zur Tabellenkalkulation. Ganz gleich, ob Sie Berichte erstellen, Daten validieren oder in Datenbanken exportieren müssen, die API bietet die Werkzeuge ohne Alpträume bei der Handhabung von Ausnahmen oder Probleme mit Office-Abhängigkeiten.

Zusammenfassung

Das Lesen von Excel-Dateien in C# muss nicht kompliziert sein. IronXL bietet einen modernen, abhängigkeitsfreien Ansatz, der über .NET Framework- und .NET Core-Projekte hinweg funktioniert. Vom Laden einer einfachen XLSX-Datei bis zur Durchführung komplexer LINQ-Abfragen auf Zelldaten - die Bibliothek bewältigt alles mit sauberem, lesbarem Code.

Die Beispiele in diesem Beitrag demonstrieren Kernmuster, die Sie täglich verwenden werden: Laden von Arbeitsmappen, Zugriff auf Arbeitsblätter, Lesen von Zellwerten und Iteration durch Daten. Diese Muster lassen sich ohne Änderungen von einfachen Skripten bis hin zu Unternehmensanwendungen skalieren.

Sind Sie bereit, die Bearbeitung Ihrer Excel-Dateien zu vereinfachen? Erwerben Sie eine Lizenz, um das volle Potenzial von IronXL in der Produktion freizusetzen, oder erkunden Sie die komplette API-Referenz für zusätzliche Details zu den verfügbaren Methoden und Eigenschaften.

Häufig gestellte Fragen

Wie kann man Excel-Dateien am besten in C# lesen?

Der beste Weg, Excel-Dateien in C# zu lesen, ist die Verwendung der IronXL-Bibliothek. Sie ermöglicht es Ihnen, Excel-Dateien zu bearbeiten, ohne dass Microsoft Excel auf Ihrem System installiert sein muss.

Muss ich Microsoft Office installiert haben, um IronXL zu verwenden?

Nein, Sie müssen Microsoft Office nicht installiert haben, um IronXL zu verwenden. Es handelt sich um eine eigenständige .NET-Bibliothek, die für die Bearbeitung von Excel-Dateien entwickelt wurde.

Welche Arten von Excel-Dateien kann IronXL lesen?

IronXL kann verschiedene Arten von Excel-Dateien lesen, darunter XLSX-, XLS- und CSV-Formate.

Ist IronXL einfach in C#-Projekte zu integrieren?

Ja, IronXL ist so konzipiert, dass es sich leicht in C#-Projekte integrieren lässt und eine einfache API für Entwickler bietet.

Kann IronXL CSV-Dateien parsen?

Ja, IronXL kann neben XLSX- und XLS-Dateien auch CSV-Dateien analysieren.

Welche Vorteile hat die Verwendung von IronXL für Excel-Dateivorgänge?

IronXL ist einfach einzurichten, nicht von Microsoft Excel abhängig und unterstützt mehrere Excel-Dateiformate, so dass es für verschiedene Dateioperationen geeignet ist.

Ist für die Nutzung von IronXL eine komplexe Einrichtung erforderlich?

IronXL erfordert keine komplexe Einrichtung und ist somit für Entwickler zugänglich, die Excel-Dateien einfach verwalten möchten.

Warum IronXL und nicht Interop für die Bearbeitung von Excel-Dateien wählen?

IronXL wird aufgrund seiner Einfachheit, der Tatsache, dass kein Microsoft Excel erforderlich ist, und der besseren Leistung bei der Bearbeitung von Excel-Dateien gegenüber Interop bevorzugt.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen