Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Die beste Methode zum Lesen von Excel-Dateien in C# | IronXL Schritt-für-Schritt-Anleitung

Das Einlesen von Excel-Dateien in C# stellt eine häufige Herausforderung for .NET Entwickler dar. Egal ob Sie eine Datenimportpipeline, ein Reporting-Tool oder ein Stapelverarbeitungssystem entwickeln, das saubere Parsen von Tabellenkalkulationsdaten ist wichtig. IronXL ist eine .NET Bibliothek, die XLSX-, XLS- und CSV-Dateien verarbeitet, ohne dass Microsoft Office oder COM-Interoperabilität auf dem Server erforderlich ist. Dieser Leitfaden führt Sie durch den gesamten Arbeitsablauf – von der Installation bis hin zu fortgeschrittenen Abfragen –, damit Sie die richtige Vorgehensweise für Ihr Projekt auswählen können.

Starten Sie jetzt mit IronXL.
green arrow pointer

Wie lassen sich Excel-Dateien am besten in C# einlesen?

Die beste Vorgehensweise ist die Verwendung einer dedizierten, Office-unabhängigen Bibliothek wie beispielsweise IronXL. Herkömmliche Methoden wie Microsoft.Office.Interop.Excel funktionieren auf Rechnern, auf denen Excel installiert ist, sind aber in Server- oder Containerumgebungen fehleranfällig, da sie im Hintergrund einen COM-Prozess starten. Das OpenXML SDK ist kostenlos und serversicher, stellt aber ein Niedrig-Level-XML-Modell bereit, das für alltägliche Aufgaben einen erheblichen Mehraufwand an Code erfordert.

IronXL liegt zwischen diesen Extremen. Die API spiegelt die Denkweise von Entwicklern in Bezug auf Tabellenkalkulationen wider – Arbeitsmappen enthalten Arbeitsblätter, Arbeitsblätter enthalten Zellen und Zellen enthalten eingegebene Werte. Die Bibliothek übernimmt die Formaterkennung, die Formelauswertung und die Kodierung intern, sodass Sie Ihre Zeit mit der Geschäftslogik verbringen können, anstatt Details zu analysieren.

Vergleich der Lesemethoden für Excel-Tabellen in C#
Ansatz Benötigt Office? Server sicher? API-Vereinfachung Formatunterstützung
COM-Interoperabilität Ja Nein Niedrig XLSX, XLS
OpenXML SDK Nein Ja Niedrig Nur XLSX
IronXL Nein Ja Hoch XLSX, XLS, CSV

Die IronXL Excel-Lesedokumentation deckt die gesamte API-Oberfläche ab. Die folgenden Abschnitte zeigen Ihnen zunächst die Kernmuster, die Sie in jedem Projekt verwenden werden.

Wie installiert man IronXL in einem .NET -Projekt?

Die Installation dauert mit dem NuGet -Paketmanager weniger als eine Minute. Öffne ein Terminal in deinem Projektverzeichnis und führe folgenden Befehl aus:

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

Alternativ können Sie die Visual Studio-Paket-Manager-Konsole verwenden:

Install-Package IronXl.Excel
Install-Package IronXl.Excel
SHELL

Nach der Installation fügen Sie die Direktive using IronXL; zu jeder Datei hinzu, die auf Tabellenkalkulationen zugreifen muss. Die Bibliothek ist for .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 und .NET Standard 2.0 geeignet und lässt sich daher ohne Aktualisierung der Laufzeitumgebung in bestehende Projekte integrieren. Plattformspezifische Hinweise und Details zum NuGet Paket finden Sie im IronXL Installationshandbuch .

Es werden keine zusätzlichen Laufzeitkomponenten, Registry-Einträge oder Office-Lizenzen benötigt. Das NuGet Paket enthält alles, was die Bibliothek benötigt.

Überprüfung der Installation

Nach dem Hinzufügen des Pakets muss das Projekt einmal neu erstellt werden, um zu bestätigen, dass die Referenz korrekt aufgelöst wird. Wenn Sie einen CS0246 Fehler für IronXL Typen sehen, überprüfen Sie, ob die using IronXL; Direktive vorhanden ist und ob das Zielframework in Ihrem .csproj eine der unterstützten Versionen ist. Die IronXL Kompatibilitätsmatrix listet alle bestätigten Laufzeitziele auf.

Wie lädt und liest man eine Excel-Arbeitsmappe?

Zum Laden einer Arbeitsmappe ist ein einziger Methodenaufruf erforderlich. WorkBook.Load akzeptiert einen Dateipfad und gibt ein WorkBook-Objekt zurück, das die gesamte Datei im Speicher repräsentiert.

using IronXL;

// Load any supported format -- XLSX, XLS, or CSV
WorkBook workbook = WorkBook.Load("financial_report.xlsx");

// Access the first worksheet by position
WorkSheet worksheet = workbook.WorkSheets[0];

// Or retrieve a named worksheet
WorkSheet expenses = workbook.GetWorkSheet("Expenses");

Console.WriteLine($"Sheets loaded: {workbook.WorkSheets.Count}");
Console.WriteLine($"Default sheet rows: {worksheet.RowCount}");
using IronXL;

// Load any supported format -- XLSX, XLS, or CSV
WorkBook workbook = WorkBook.Load("financial_report.xlsx");

// Access the first worksheet by position
WorkSheet worksheet = workbook.WorkSheets[0];

// Or retrieve a named worksheet
WorkSheet expenses = workbook.GetWorkSheet("Expenses");

Console.WriteLine($"Sheets loaded: {workbook.WorkSheets.Count}");
Console.WriteLine($"Default sheet rows: {worksheet.RowCount}");
$vbLabelText   $csharpLabel

Beste Methode zum Lesen einer Excel-Datei in C# mit IronXL: Bild 1 - Konsolenausgabe zur Bestätigung der geladenen Arbeitsmappe

Das Objekt WorkBook sorgt dafür, dass alle Arbeitsblattdaten zugänglich bleiben. Jede WorkSheet-Instanz ist einem Tabellenblatt in der Datei zugeordnet. Der Zugriff über den Index (WorkSheets[0]) ist bei einseitigen Dateien zuverlässig; Der Zugriff über den Namen ist sicherer, wenn die Datei mehrere Tabs mit bekannten Namen enthält.

IronXL wertet Formeln automatisch aus, sobald Sie eine Zelle lesen. Wenn die Zelle B10 den Wert =SUM(B2:B9) enthält, gibt das Lesen von sheet["B10"].DecimalValue die berechnete Summe und nicht die Formelzeichenfolge zurück. Weitere Informationen zu den Optionen zum Laden von Arbeitsmappen finden Sie in der Anleitung zum Laden von Tabellenkalkulationen .

Arbeiten mit mehreren Arbeitsblättern

Wenn eine Arbeitsmappe mehrere Registerkarten enthält, können Sie diese mit workbook.WorkSheets auflisten und jede einzeln verarbeiten. Dies ist nützlich für Dateien, die Daten nach Monat, Abteilung oder Region auf separate Registerkarten aufteilen. Die Eigenschaft WorkSheet.Name gibt Ihnen die Tabulatorbezeichnung als Zeichenkette zurück, die Sie für bedingte Verarbeitung oder Protokollierung verwenden können.

Wie liest man Zellwerte aus einem Arbeitsblatt aus?

IronXL stellt für jede Zelle stark typisierte Eigenschaften bereit, sodass Sie Werte direkt in den richtigen .NET -Typ einlesen können, ohne sie manuell parsen zu müssen.

using IronXL;

WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Address-based access with typed properties
string productName = sheet["A2"].StringValue;
int quantity       = sheet["B2"].IntValue;
decimal price      = sheet["C2"].DecimalValue;
bool inStock       = sheet["D2"].BoolValue;

// Check for empty cells before processing
var statusCell = sheet["E2"];
if (statusCell.Value != null && statusCell.StringValue.Length > 0)
{
    Console.WriteLine($"Status: {statusCell.StringValue}");
}

// Row/column index access (zero-based)
var firstDataCell = sheet.Rows[1].Columns[0];
Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price:C}");
using IronXL;

WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Address-based access with typed properties
string productName = sheet["A2"].StringValue;
int quantity       = sheet["B2"].IntValue;
decimal price      = sheet["C2"].DecimalValue;
bool inStock       = sheet["D2"].BoolValue;

// Check for empty cells before processing
var statusCell = sheet["E2"];
if (statusCell.Value != null && statusCell.StringValue.Length > 0)
{
    Console.WriteLine($"Status: {statusCell.StringValue}");
}

// Row/column index access (zero-based)
var firstDataCell = sheet.Rows[1].Columns[0];
Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price:C}");
$vbLabelText   $csharpLabel

Beste Methode zum Lesen von Excel-Dateien in C# mit IronXL: Bild 2 – Einfache Excel-Leseausgabe mit IronXL

Die Syntax sheet["A2"] verwendet die Standard-Excel-Neintation. Bei den Spaltenbuchstaben wird nicht zwischen Groß- und Kleinschreibung unterschieden, und die Zeilennummern beginnen bei 1, entsprechend der Zellbeschriftung in Excel. Die Dokumentation zum Lesen von Zellwerten zeigt zusätzliche typisierte Zugriffsmethoden, darunter DateTimeValue für Zellen, die als Datum formatiert sind.

Wenn eine Zelle eine als Text gespeicherte Zahl enthält (ein häufiges Datenqualitätsproblem in exportierten Tabellenkalkulationen), gibt StringValue den Text unverändert zurück, während DecimalValue versucht, ihn zu analysieren und im Fehlerfall 0 zurückgibt. Unerwartete Daten müssen immer validiert werden, bevor sie im Produktionscode als typisierter Wert behandelt werden.

Umgang mit Datums- und Booleschen Zellen

Datumszellen in Excel werden intern als Seriennummern gespeichert. IronXL stellt DateTimeValue zur Verfügung, um sie ohne manuelle Arithmetik in ein .NET DateTime Objekt umzuwandeln. Für Zellen, die TRUE oder FALSE enthalten, gibt BoolValue den korrekten booleschen Wert ohne Zeichenkettenvergleich zurück. Diese typisierten Zugriffsmethoden eliminieren eine Klasse von Datentypfehlern, die häufig beim Einlesen von Tabellenkalkulationen mit generischen textbasierten Parsern auftreten.

Wie iteriert man durch Zeilen und Zellen?

Das Durchlaufen eines Datensatzes erfordert einen Bereich oder eine Zeilensammlung. IronXL unterstützt beide Ansätze, und Sie können sie kombinieren, um die Form der Daten abzubilden.

using IronXL;

WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.WorkSheets[0];

// Iterate a cell range -- skips header row
foreach (var cell in sheet["A2:D100"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Row-by-row with column access
for (int rowIndex = 1; rowIndex < sheet.RowCount; rowIndex++)
{
    var row = sheet.Rows[rowIndex];
    var values = new System.Text.StringBuilder();

    foreach (var cell in row)
    {
        if (cell.Value != null)
            values.Append($"{cell.StringValue}\t");
    }

    Console.WriteLine(values.ToString().TrimEnd());
}
using IronXL;

WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.WorkSheets[0];

// Iterate a cell range -- skips header row
foreach (var cell in sheet["A2:D100"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Row-by-row with column access
for (int rowIndex = 1; rowIndex < sheet.RowCount; rowIndex++)
{
    var row = sheet.Rows[rowIndex];
    var values = new System.Text.StringBuilder();

    foreach (var cell in row)
    {
        if (cell.Value != null)
            values.Append($"{cell.StringValue}\t");
    }

    Console.WriteLine(values.ToString().TrimEnd());
}
$vbLabelText   $csharpLabel

Beste Methode zum Lesen einer Excel-Datei in C# mit IronXL: Bild 3 - Ausgabe für die Iteration durch Zeilen

Der Bereichsstring "A2:D100" erzeugt eine flache Zellensammlung. Die Zeilen innerhalb des Bereichs werden von oben nach unten und von links nach rechts verarbeitet. Dieses Muster eignet sich gut für den Export in ein List<t>, ein DataTable oder eine Datenbank.

Die Eigenschaft sheet.RowCount gibt die zuletzt verwendete Zeile im Arbeitsblatt wieder, sodass die Schleife automatisch beendet wird, wenn die Daten enden. Der Leitfaden zur Iteration von Excel-Bereichen umfasst zusätzliche Iterationsmuster, einschließlich der spaltenweisen Traversierung.

Überspringen der Kopfzeilen

Die meisten Tabellenkalkulationen haben eine Kopfzeile, die die Spaltennamen beschreibt, anstatt Daten zu enthalten. Beginnen Sie die Bereichsiteration in Zeile 2 (z. B. "A2:D100") oder beginnen Sie die Indexschleife bei rowIndex = 1, um die Kopfzeile zu überspringen. Wenn Sie ToDataTable(true) verwenden, übernimmt IronXL die Header-Erkennung automatisch und ordnet die Spaltennamen ab der ersten Zeile zu.

Wie geht man mit mehreren Excel-Formaten um?

IronXL erkennt das Dateiformat automatisch anhand der Dateierweiterung und des Dateikopfes. Die API ist für XLSX-, XLS- und CSV-Dateien identisch, was bedeutet, dass derselbe Parsing-Code für alle drei Formate ohne bedingte Logik funktioniert.

using IronXL;

// Load different formats with identical API
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook  = WorkBook.Load("Legacy.xls");
WorkBook csvBook  = WorkBook.Load("Export.csv");

// Access worksheets identically across formats
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;

// Cross-format conversion -- save XLSX as CSV, or CSV as XLSX
xlsxBook.SaveAs("converted_output.csv");
csvBook.SaveAs("structured_output.xlsx");

Console.WriteLine($"XLSX rows: {sheet1.RowCount}");
Console.WriteLine($"XLS rows:  {sheet2.RowCount}");
Console.WriteLine($"CSV rows:  {sheet3.RowCount}");
using IronXL;

// Load different formats with identical API
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook  = WorkBook.Load("Legacy.xls");
WorkBook csvBook  = WorkBook.Load("Export.csv");

// Access worksheets identically across formats
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;

// Cross-format conversion -- save XLSX as CSV, or CSV as XLSX
xlsxBook.SaveAs("converted_output.csv");
csvBook.SaveAs("structured_output.xlsx");

Console.WriteLine($"XLSX rows: {sheet1.RowCount}");
Console.WriteLine($"XLS rows:  {sheet2.RowCount}");
Console.WriteLine($"CSV rows:  {sheet3.RowCount}");
$vbLabelText   $csharpLabel

Bei CSV-Dateien beachtet IronXL die Konventionen von RFC 4180, einschließlich der Kennzeichnung von Feldern mit Kommas, Zeilenumbrüchen innerhalb von Werten in Anführungszeichen und maskierten doppelten Anführungszeichen. Der Leitfaden zur Konvertierung von CSV in XLSX behandelt die Anpassung der Trennzeichen für nicht standardmäßige CSV-Exporte.

Wenn Ihre Anwendung Dateien von externen Systemen empfangen muss, ist es ratsam, die Dateierweiterung zu überprüfen und den Inhalt vor dem Laden zu validieren. IronXL löst eine beschreibende Ausnahme aus, wenn die Datei beschädigt ist oder ein nicht unterstütztes Format aufweist. Diese Ausnahme können Sie abfangen und dem Benutzer anzeigen.

Wie führt man erweiterte Abfragen auf Excel-Daten durch?

Über das Lesen einzelner Zellen hinaus bietet IronXL Aggregatfunktionen und LINQ-Kompatibilität, die einen Tabellenbereich in eine abfragbare Sammlung verwandeln.

using IronXL;
using System.Linq;

WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Built-in aggregates -- no manual looping needed
decimal totalSales = sheet["B2:B50"].Sum();
decimal maxRevenue = sheet["C2:C50"].Max(c => c.DecimalValue);
decimal avgMargin  = sheet["D2:D50"].Avg();

// LINQ filtering directly on a range
var highValueRows = sheet["C2:C50"]
    .Where(c => c.DecimalValue > 1000)
    .Select(c => new { c.AddressString, c.DecimalValue });

foreach (var row in highValueRows)
    Console.WriteLine($"Hoch value at {row.AddressString}: {row.DecimalValue:C}");

// Write a calculated result back to the sheet
sheet["E2"].Value = totalSales;
workbook.SaveAs("Financials_Updated.xlsx");

Console.WriteLine($"Total: {totalSales:C}, Max: {maxRevenue:C}, Avg: {avgMargin:C}");
using IronXL;
using System.Linq;

WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Built-in aggregates -- no manual looping needed
decimal totalSales = sheet["B2:B50"].Sum();
decimal maxRevenue = sheet["C2:C50"].Max(c => c.DecimalValue);
decimal avgMargin  = sheet["D2:D50"].Avg();

// LINQ filtering directly on a range
var highValueRows = sheet["C2:C50"]
    .Where(c => c.DecimalValue > 1000)
    .Select(c => new { c.AddressString, c.DecimalValue });

foreach (var row in highValueRows)
    Console.WriteLine($"Hoch value at {row.AddressString}: {row.DecimalValue:C}");

// Write a calculated result back to the sheet
sheet["E2"].Value = totalSales;
workbook.SaveAs("Financials_Updated.xlsx");

Console.WriteLine($"Total: {totalSales:C}, Max: {maxRevenue:C}, Avg: {avgMargin:C}");
$vbLabelText   $csharpLabel

Beste Methode zum Lesen von Excel-Dateien in C# mit IronXL: Bild 4 – Erweiterte Leseoperationen, Konsolenausgabe

Die LINQ-Kompatibilität ist nützlich, wenn Sie Zeilen vor dem Import in eine Datenbank filtern oder überprüfen müssen, ob alle Werte in einer Spalte einen Schwellenwert erfüllen. Die Bibliothek wertet Formeln aus, bevor LINQ ausgeführt wird, sodass Aggregatabfragen immer mit den endgültig berechneten Werten und nicht mit Formelzeichenfolgen arbeiten.

Das LINQ-Tutorial mit IronXL behandelt das Verknüpfen von Arbeitsblättern, das Gruppieren nach Spalten und das Projizieren von Ergebnissen in stark typisierte Objekte – Muster, die viel Boilerplate-Code im Datenpipeline-Code eliminieren.

Wie exportiert man Excel-Daten in eine DataTable?

Viele .NET Anwendungen laden Tabellenkalkulationsdaten in ein ADO.NET DataTable zur weiteren Verarbeitung oder zum Einfügen in eine Datenbank. IronXL bietet eine direkte Konvertierungsmethode, die die Neintwendigkeit einer manuellen Spaltenzuordnung überflüssig macht.

using IronXL;
using System.Data;

WorkBook workbook = WorkBook.Load("SalesData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Convert worksheet to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

Console.WriteLine($"Columns: {dataTable.Columns.Count}");
Console.WriteLine($"Rows:    {dataTable.Rows.Count}");

// Iterate the DataTable normally
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"{row["ProductName"]} -- {row["Quantity"]} -- {row["Price"]}");
}
using IronXL;
using System.Data;

WorkBook workbook = WorkBook.Load("SalesData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Convert worksheet to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

Console.WriteLine($"Columns: {dataTable.Columns.Count}");
Console.WriteLine($"Rows:    {dataTable.Rows.Count}");

// Iterate the DataTable normally
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"{row["ProductName"]} -- {row["Quantity"]} -- {row["Price"]}");
}
$vbLabelText   $csharpLabel

Durch die Übergabe von true an ToDataTable wird die erste Zeile des Arbeitsblatts als Spaltenüberschrift behandelt. Das resultierende DataTable verwendet Spaltennamen, die mit dem Header-Text übereinstimmen, wodurch nachfolgende LINQ-to-DataSet-Abfragen lesbar werden. Die Exportdokumentation für DataTables behandelt Optionen zur Nullwertbehandlung und Typinferenz.

Dieses Muster ist besonders nützlich, wenn der nachfolgende Code bereits einen DataTable erwartet -- zum Beispiel beim Aufruf von SqlBulkCopy zum Einfügen von Zeilen in SQL Server. Sie können die XLSX-Datei laden, sie in das Format DataTable konvertieren und per Masseneinfügung bearbeiten, ohne dafür Spaltenzuordnungs-Boilerplate-Code schreiben zu müssen.

IronXL Core Lese-API-Referenz
Betrieb API Rücksendungen
Datei laden `WorkBook.Load(path)` `WorkBook`
Arbeitsblatt über Index abrufen `workbook.WorkSheets[0]` `WorkSheet`
Arbeitsblatt nach Namen abrufen `workbook.GetWorkSheet("name")` `WorkSheet`
Zeichenkette in Zelle lesen `sheet["A1"].StringValue` `String`
Dezimalzahl lesen `sheet["B1"].DecimalValue` `decimal`
Iterationsbereich `foreach cell in sheet["A2:D100"]` `IEnumerable`
Summe eines Bereichs `sheet["B2:B50"].Sum()` `decimal`
Export in DataTable `sheet.ToDataTable(true)` `DataTable`

Eine vollständige API-Liste finden Sie in der IronXL API-Referenz . Die Referenz umfasst alle Eigenschaften und Methoden mit Parameterbeschreibungen und Angaben zum Rückgabetyp.

Was sind Ihre nächsten Schritte?

Das Lesen von Excel-Dateien in C# ist unkompliziert, sobald man die richtige Bibliothek hat. IronXL beseitigt die Office-Abhängigkeit, vereinfacht die API-Oberfläche und verarbeitet XLSX-, XLS- und CSV-Formate mit demselben Codepfad. Die hier behandelten Muster – das Laden einer Arbeitsmappe, das Lesen eingegebener Zellwerte, das Iterieren über Bereiche, das Ausführen von Aggregationen und das Exportieren in ein DataTable – decken den Großteil der Anforderungen an das Lesen von Tabellenkalkulationen in der Praxis ab.

Um diese Muster weiter auszubauen:

Für Teams, die IronXL mit anderen Bibliotheken vergleichen, umfassen der Vergleich IronXL vs. EPPlus und der Vergleich IronXL vs. NPOI Leistungsbenchmarks und API-Unterschiede. Beide Vergleiche enthalten Codebeispiele für äquivalente Betrieben in den jeweiligen Bibliotheken.

Die Spezifikation des Excel-Dateiformats von Microsoft selbst ist eine nützliche Referenz, falls Sie auf ungewöhnliche Tabellenstrukturen aus älteren Systemen stoßen. Der ECMA-376-Standard definiert das OOXML-Format, dem XLSX-Dateien folgen.

Beginnen Sie mit einer kostenlosen IronXL -Testlizenz , um die vollständige API in Ihrem eigenen Projekt zu testen, bevor Sie sich für eine Produktionslizenz entscheiden.

Häufig gestellte Fragen

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

Die beste Methode zum Lesen von Excel-Dateien in C# ist die Verwendung einer dedizierten, Office-unabhängigen Bibliothek wie IronXL. Sie verarbeitet die Formate XLSX, XLS und CSV, ohne dass Microsoft Excel oder COM Interop erforderlich sind, und ist daher sicher für Server- und Containerumgebungen.

Muss Microsoft Office installiert sein, um IronXL nutzen zu können?

Nein. IronXL ist eine eigenständige .NET Bibliothek, die als NuGet Paket vertrieben wird. Sie benötigt weder Microsoft Office, Excel noch COM-Komponenten auf dem Rechner.

Welche Excel-Dateiformate unterstützt IronXL ?

IronXL liest und schreibt XLSX-, XLS- und CSV-Dateien. Die Formaterkennung erfolgt automatisch anhand der Dateierweiterung und des Inhaltskopfes.

Wie installiert man IronXL in einem .NET -Projekt?

Führen Sie im Terminal den Befehl „dotnet add package IronXl.Excel“ oder in der Visual Studio Package Manager Console den Befehl „Install-Package IronXl.Excel“ aus.

Kann IronXL Excel-Daten in eine DataTable exportieren?

Ja. Die Methode WorkSheet.ToDataTable(true) wandelt jedes Arbeitsblatt in eine ADO .NET DataTable um, wobei die erste Zeile als Spaltenüberschriften verwendet wird, wenn true übergeben wird.

Unterstützt IronXL LINQ-Abfragen auf Excel-Daten?

Ja. IronXL Zellbereiche implementieren IEnumerable, sodass Sie LINQ-Methoden wie Where, Select, Sum, Max und Avg direkt auf Arbeitsblattbereichen anwenden können.

Wie handhabt IronXL Excel-Formeln?

IronXL wertet Formeln automatisch aus, sobald Sie einen Zellwert lesen. Das Auslesen von sheet["B10".DecimalValue einer Formelzelle gibt das berechnete Ergebnis zurück, nicht die Formelzeichenfolge.

Welche .NET Versionen werden von IronXL unterstützt?

IronXL unterstützt .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 und .NET Standard 2.0.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me