Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Excel-Dateien in C# mit IronXL öffnet

Das Öffnen und Bearbeiten von Excel-Dateien in C# ist etwas, womit fast jeder .NET Entwickler früher oder später konfrontiert wird. Ob Sie nun wöchentliche Berichte automatisieren, Datenimporte verarbeiten oder Tools entwickeln, die Tabellenkalkulationen dynamisch generieren – die Wahl der Bibliothek kann einen erheblichen Unterschied in Geschwindigkeit, Zuverlässigkeit und Flexibilität bei der Bereitstellung ausmachen.

Dieses Tutorial zeigt Ihnen, wie Sie Excel-Dateien in C# mit IronXL öffnen – einer schlanken Excel-Bibliothek, die Arbeitsmappen lesen, bearbeiten und schreiben kann, ohne dass Microsoft Office installiert sein muss. Sie werden sehen, wie einfach es ist, Daten zu laden, auf Arbeitsblätter zuzugreifen und programmgesteuert mit Zellen zu arbeiten – alles innerhalb Ihrer C#-Anwendung.

Warum IronXL gegenüber Microsoft.Office.Interop.Excel wählen?

Während Microsoft.Office.Interop.Excel der traditionelle Ansatz für die Excel-Automatisierung war, weist er erhebliche Einschränkungen auf, die IronXL zur besseren Wahl für moderne Anwendungen machen. Microsoft selbst rät von der Verwendung von Office Interop auf Servern ab und verweist auf Instabilität, Skalierbarkeitsprobleme und nicht unterstützte Bereitstellungsszenarien.

Funktionsvergleich zwischen IronXL und Microsoft.Office.Interop.Excel
Merkmal IronXL Microsoft.Office.Interop.Excel
**Excel-Installation erforderlich** Nein Ja
**Plattformübergreifende Unterstützung** Windows, Linux, macOS Nur für Windows
**Serverbereitstellung** Vollständig unterstützt Nicht von Microsoft empfohlen
**Speicherverwaltung** Automatisch Manuelle COM-Bereinigung erforderlich
**API-Komplexität** Einfach und intuitiv Komplexe COM-Schnittstellen
**Unterstützung für Dateiformate** XLS, XLSX, CSV, TSV, JSON Beschränkt auf Excel-Formate
**Gewindesicherheit** Unterstützt Nur für Einzelstränge

IronXL beseitigt die Abhängigkeit von Microsoft Excel und eignet sich daher ideal für Serverumgebungen, Docker-Container und Cloud-Plattformen wie Azure . Die Bibliothek bietet eine saubere, moderne API, die die Notwendigkeit der Bearbeitung von COM-Objekten oder der manuellen Speicherverwaltung überflüssig macht. Neben dem Öffnen von Dateien übernimmt IronXL alles von der Formelauswertung über die Diagrammerstellung bis hin zur Zellformatierung .

Wie installiert man IronXL in einem .NET -Projekt?

Der Einstieg in IronXL ist unkompliziert – es kann innerhalb weniger Minuten über den NuGet Package Manager zu Ihrem Projekt hinzugefügt werden. Öffnen Sie die Paketmanager-Konsole in Visual Studio und führen Sie den Befehl aus:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

Beide Befehle installieren dasselbe Paket. Verwenden Sie die erste Methode in der Visual Studio Package Manager Console und die zweite mit der .NET CLI. Nach der Installation können Sie überprüfen, ob der Paketverweis in Ihrer Projektdatei unter <PackageReference Include="IronXl.Excel" /> erscheint.

Starten Sie jetzt mit IronXL.
green arrow pointer

Welche .NET Versionen werden von IronXL unterstützt?

IronXL unterstützt das gesamte Spektrum moderner .NET Versionen, darunter .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 und höher sowie .NET Standard 2.0. Dank dieser umfassenden Unterstützung können Sie IronXL sowohl in neuen Projekten, die auf .NET 10 abzielen, als auch in älteren Anwendungen verwenden, die auf dem traditionellen .NET Framework laufen.

Die Bibliothek ist als einzelnes NuGet Paket verfügbar, das automatisch die richtige Binärdatei für Ihr Zielframework auswählt. Keine zusätzlichen Abhängigkeiten, keine plattformspezifischen Installationen und keine Excel-Lizenz erforderlich. ImIronXL Kompatibilitätsleitfaden finden Sie eine vollständige Liste der unterstützten Laufzeitumgebungen und Plattformen.

Wie öffnet und liest man eine bestehende Excel-Datei in C#?

Das Öffnen bestehender Excel-Dateien mit IronXL erfordert nur wenige Zeilen Code. Die Bibliothek unterstützt das Lesen von XLS- und XLSX-Dateien sowie von CSV- und TSV-Dateien über eine einheitliche API. Das folgende Beispiel veranschaulicht den wesentlichen Arbeitsablauf:

// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");

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

// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");

// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Read a numeric value
decimal revenue = sheet["B2"].DecimalValue;
Console.WriteLine($"Revenue: {revenue:C}");

// Check cell data type before reading
var cell = sheet["C3"];
Console.WriteLine($"Type: {cell.Type}, Value: {cell.Value}");
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");

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

// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");

// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Read a numeric value
decimal revenue = sheet["B2"].DecimalValue;
Console.WriteLine($"Revenue: {revenue:C}");

// Check cell data type before reading
var cell = sheet["C3"];
Console.WriteLine($"Type: {cell.Type}, Value: {cell.Value}");
$vbLabelText   $csharpLabel

Die Methode WorkBook.Load() erkennt automatisch das Dateiformat -- XLS, XLSX, CSV oder TSV -- und übernimmt das Parsen ohne zusätzliche Konfiguration. Sie können auf Arbeitsblätter entweder über den Index mit workbook.WorkSheets[0] oder über den Namen mit GetWorkSheet() zugreifen. Einzelne Zellenwerte lassen sich durch die Klammernotation (sheet["A1"]) lesbar darstellen, wodurch der Code prägnant und ausdrucksstark wird. Eine vollständige Liste der unterstützten Dateitypen finden Sie in der Open XML SDK-Dokumentation zu SpreadsheetML und auf der NuGet Paketseite von IronXL .

Für den typisierten Zugriff stellt IronXL Eigenschaften wie .StringValue, .DecimalValue, .IntValue, .BoolValue und .DateTimeValue direkt in den Zellen bereit. Dadurch entfällt das bei generischen objektbasierten APIs übliche Rätselraten über den Datentyp. Für komplexere Szenarien konsultieren Sie bitte den Leitfaden zum Arbeiten mit Excel-Bereichen und die Dokumentation zu Zelldatenformaten .

Ausgabe

Anwendung zum Öffnen von Excel-Dateien in C# mit IronXL: Abbildung 1 – Öffnen und Lesen einer Excel-Beispieldatei

Wie lädt man Excel-Dateien aus einem Datenstrom oder einem Byte-Array?

Bei Webanwendungen und Cloud-Funktionen werden Dateidaten häufig als Datenstrom oder Byte-Array anstatt als Dateipfad empfangen. IronXL deckt beide Fälle ab:

// Load from a byte array (e.g., from a database or HTTP response)
byte[] fileBytes = File.ReadAllBytes("sales-data.xlsx");
WorkBook workbookFromBytes = WorkBook.Load(fileBytes);

// Load from a MemoryStream
using var memStream = new MemoryStream(fileBytes);
WorkBook workbookFromStream = WorkBook.Load(memStream);

// Access data the same way regardless of source
WorkSheet sheet = workbookFromStream.DefaultWorkSheet;
Console.WriteLine(sheet["A1"].StringValue);
// Load from a byte array (e.g., from a database or HTTP response)
byte[] fileBytes = File.ReadAllBytes("sales-data.xlsx");
WorkBook workbookFromBytes = WorkBook.Load(fileBytes);

// Load from a MemoryStream
using var memStream = new MemoryStream(fileBytes);
WorkBook workbookFromStream = WorkBook.Load(memStream);

// Access data the same way regardless of source
WorkSheet sheet = workbookFromStream.DefaultWorkSheet;
Console.WriteLine(sheet["A1"].StringValue);
$vbLabelText   $csharpLabel

Streambasiertes Laden ist besonders nützlich in ASP.NET Core Controllern, wo Sie einen IFormFile Upload erhalten. Rufen Sie einfach formFile.OpenReadStream() auf und übergeben Sie das Ergebnis an WorkBook.Load(). Vollständige ASP.NET Core Integrationsmuster finden Sie im ASP.NET Core Excel-Tutorial .

Wie erstellt man neue Excel-Arbeitsmappen in C#?

Das Erstellen neuer Excel-Dateien ist mit den Tabellenkalkulationsfunktionen von IronXL genauso unkompliziert. Das folgende Beispiel erstellt einen formatierten Quartalsbericht:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add metadata
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Title = "Q1 Revenue Report";

// Create a named worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");

// Add header row
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Add data rows
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 120;
sheet["C2"].Value = 45000;

sheet["A3"].Value = "Support Contracts";
sheet["B3"].Value = 55;
sheet["C3"].Value = 27500;

// Add a SUM formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Apply number formatting
sheet["C2:C4"].FormatString = "$#,##0.00";

// Save the workbook to disk
workbook.SaveAs("quarterly-report.xlsx");
Console.WriteLine("Workbook saved successfully.");
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add metadata
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Title = "Q1 Revenue Report";

// Create a named worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");

// Add header row
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Add data rows
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 120;
sheet["C2"].Value = 45000;

sheet["A3"].Value = "Support Contracts";
sheet["B3"].Value = 55;
sheet["C3"].Value = 27500;

// Add a SUM formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Apply number formatting
sheet["C2:C4"].FormatString = "$#,##0.00";

// Save the workbook to disk
workbook.SaveAs("quarterly-report.xlsx");
Console.WriteLine("Workbook saved successfully.");
$vbLabelText   $csharpLabel

Die Methode WorkBook.Create() initialisiert eine neue Arbeitsmappe im angegebenen Format. Sie können mehrere Arbeitsblätter mit CreateWorkSheet() hinzufügen, Zellen mit verschiedenen Datentypen wie Zeichenketten, Zahlen, Booleschen Werten und Datumsangaben füllen und Excel-Formeln direkt über die Eigenschaft Formula anwenden . Die Bibliothek übernimmt die Datentypkonvertierung und die Excel-spezifischen Formatierungsanforderungen automatisch.

Zum Gestalten von Überschriften und Hinzufügen von Rahmen verwenden Sie die Cell Styling API . Informationen zur Erstellung von Berichten mithilfe von Vorlagen finden Sie im Leitfaden zum Exportieren aus vorhandenen Excel-Vorlagen .

Ausgabe

So öffnen Sie eine Anwendung in C# mit IronXL: Abbildung 2 – Erstellen neuer Excel-Arbeitsmappen

Wie liest und verarbeitet man Excel-Tabellendaten in großen Mengen?

IronXL handhabt Datenextraktion und Massenverarbeitung effizient durch bereichsbasierte Operationen und DataTable-Konvertierung:

// Load a workbook and select the default sheet
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a rectangular range of cells
var range = sheet["A1:D10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Convert the worksheet to a DataTable for database integration
System.Data.DataTable dataTable = sheet.ToDataTable(useFirstRowAsColumnHeaders: true);
Console.WriteLine($"Rows: {dataTable.Rows.Count}, Columns: {dataTable.Columns.Count}");

// Use aggregate functions directly on a range
decimal total = sheet["C2:C10"].Sum();
decimal average = sheet["C2:C10"].Avg();
decimal maxValue = sheet["C2:C10"].Max();

Console.WriteLine($"Total: {total:C}");
Console.WriteLine($"Average: {average:C}");
Console.WriteLine($"Max: {maxValue:C}");

// Filter and find rows using LINQ on the DataTable
var highValue = dataTable.AsEnumerable()
    .Where(row => row.Field<decimal>("Revenue") > 10000)
    .ToList();
Console.WriteLine($"High-value rows: {highValue.Count}");
// Load a workbook and select the default sheet
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a rectangular range of cells
var range = sheet["A1:D10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Convert the worksheet to a DataTable for database integration
System.Data.DataTable dataTable = sheet.ToDataTable(useFirstRowAsColumnHeaders: true);
Console.WriteLine($"Rows: {dataTable.Rows.Count}, Columns: {dataTable.Columns.Count}");

// Use aggregate functions directly on a range
decimal total = sheet["C2:C10"].Sum();
decimal average = sheet["C2:C10"].Avg();
decimal maxValue = sheet["C2:C10"].Max();

Console.WriteLine($"Total: {total:C}");
Console.WriteLine($"Average: {average:C}");
Console.WriteLine($"Max: {maxValue:C}");

// Filter and find rows using LINQ on the DataTable
var highValue = dataTable.AsEnumerable()
    .Where(row => row.Field<decimal>("Revenue") > 10000)
    .ToList();
Console.WriteLine($"High-value rows: {highValue.Count}");
$vbLabelText   $csharpLabel

Die Bereichsauswahlsyntax (sheet["A1:D10"]) bietet eine elegante Möglichkeit, mit mehreren Zellen gleichzeitig zu arbeiten. Die Methode ToDataTable() konvertiert Arbeitsblattdaten in ein System.Data.DataTable, das sich direkt in Entity Framework, Datenbindungssteuerelemente und SQL-Massenkopiervorgänge integriert. IronXL unterstützt außerdem Aggregatfunktionen -- Sum(), Avg(), Max() und Min() -- direkt auf Bereichen, wodurch die Notwendigkeit entfällt, manuellen Iterationscode zu schreiben.

Für die effiziente Verarbeitung sehr großer Datensätze konsultieren Sie bitte die vollständige IronXL -API-Referenz für Streaming- und Chunked-Verarbeitungsmuster.

So öffnen Sie Excel-Dateien in C# mit IronXL: Abbildung 3 – Verarbeitete Excel-Datenausgabe

Wie filtert und durchsucht man Zellen in einem Arbeitsblatt?

Über den bereichsbasierten Zugriff hinaus ermöglicht IronXL die Suche nach Zellen anhand ihres Wertes, die Anwendung bedingter Logik und das programmgesteuerte Durchlaufen von Zeilen und Spalten:

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

// Get total row and column counts
int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Sheet dimensions: {rowCount} rows x {colCount} columns");

// Iterate over all rows and columns
for (int row = 1; row <= rowCount; row++)
{
    for (int col = 1; col <= colCount; col++)
    {
        var cell = sheet.GetCellAt(row, col);
        if (cell != null && !string.IsNullOrEmpty(cell.Text))
        {
            Console.WriteLine($"[{row},{col}] = {cell.Text}");
        }
    }
}

// Find the first cell containing specific text
var searchResult = sheet["A1:Z100"]
    .FirstOrDefault(c => c.StringValue.Contains("discontinued", StringComparison.OrdinalIgnoreCase));

if (searchResult != null)
{
    Console.WriteLine($"Found 'discontinued' at: {searchResult.AddressString}");
}
WorkBook workbook = WorkBook.Load("products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Get total row and column counts
int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Sheet dimensions: {rowCount} rows x {colCount} columns");

// Iterate over all rows and columns
for (int row = 1; row <= rowCount; row++)
{
    for (int col = 1; col <= colCount; col++)
    {
        var cell = sheet.GetCellAt(row, col);
        if (cell != null && !string.IsNullOrEmpty(cell.Text))
        {
            Console.WriteLine($"[{row},{col}] = {cell.Text}");
        }
    }
}

// Find the first cell containing specific text
var searchResult = sheet["A1:Z100"]
    .FirstOrDefault(c => c.StringValue.Contains("discontinued", StringComparison.OrdinalIgnoreCase));

if (searchResult != null)
{
    Console.WriteLine($"Found 'discontinued' at: {searchResult.AddressString}");
}
$vbLabelText   $csharpLabel

Dieses Muster ist typisch für Datenvalidierungs-Workflows, bei denen eine hochgeladene Datei auf bestimmte Werte überprüft werden muss, bevor sie weiterverarbeitet wird. Für fortgeschrittene Filteranwendungen konsultieren Sie bitte die Dokumentation zur Bereichsauswahl in Excel .

Welche Einsatzszenarien unterstützt dieser Ansatz?

Einer der größten praktischen Vorteile von IronXL ist seine Fähigkeit, ohne dass Microsoft Office irgendwo auf dem System installiert sein muss, zu funktionieren. Dies schafft eine Bereitstellungsflexibilität, die Interop-basierte Lösungen schlichtweg nicht erreichen können:

Cloud- und Containerbereitstellung

IronXL läuft auf Azure App Service , AWS Lambda und Google Cloud Run ohne spezielle Konfiguration. Da es keine Office-Abhängigkeit aufweist, vermeiden Sie sowohl die Lizenzkosten als auch die Komplexität, Office in ein Container-Image einzubinden. Für eine minimale Dockerfile einer .NET 10-Anwendung mit IronXL wird lediglich das Standard .NET -Runtime-Image benötigt.

Die Bereitstellung mit Docker ist ebenso unkompliziert. Der IronXL Docker-Leitfaden behandelt Containerkonfigurationen für Debian, Alpine und Windows. In allen Fällen installieren Sie IronXL über NuGet und es läuft ohne zusätzliche Systempakete.

Server- und CI/CD-Pipeline-Nutzung

Serverumgebungen verfügen oft nicht über eine grafische Benutzeroberfläche und können keine Anwendungen ausführen, die von einer Windows-Desktop-Sitzung abhängig sind. IronXL läuft vollständig im Headless-Modus und eignet sich daher für:

  • Generieren von Excel-Berichten in geplanten Hintergrundjobs
  • Verarbeitung hochgeladener Tabellenkalkulationen in ASP.NET Core APIs
  • Exportieren von DataTable- oder Datenbankabfrageergebnissen nach XLSX in automatisierten Pipelines
  • Validierung importierter Datendateien während CI/CD-Testläufen

Speziell für ASP.NET Core siehe das ASP.NET Core Excel-Export-Tutorial , das Dateistreaming, Antwortheader und geeignete Entsorgungsmuster behandelt.

Plattformübergreifende Entwicklung

IronXL zielt auf .NET Standard 2.0 ab und läuft nativ unter Linux und macOS, wodurch plattformübergreifende Entwicklungsabläufe ermöglicht werden. Entwickler unter macOS können Excel-Generierungscode lokal schreiben und testen und sich dabei darauf verlassen, dass dieselbe Binärdatei auf einem Linux-Produktionsserver identisch funktioniert. Es werden keine plattformspezifischen APIs oder bedingten Kompilierungsblöcke benötigt.

Weitere Informationen zu den unterstützten Umgebungen finden Sie in derIronXL Einführungsübersicht .

Wie geht man mit gängigen Excel-Operationen über das reine Lesen hinaus um?

Das Lesen und Schreiben von Zellen ist nur die Grundlage. Die Automatisierung von Excel-Anwendungen in der Praxis umfasst typischerweise Formatierung, Formeln, Tabellenblattverwaltung und Formatkonvertierung.

Zellen formatieren und Stile anwenden

IronXL stellt eine vollständige Style-API bereit, die Schriftarten, Farben, Rahmen, Ausrichtung und Zahlenformate abdeckt:

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

// Apply bold, font size, and background color to header row
var headerRange = sheet["A1:F1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
headerRange.Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;

// Format a currency column
sheet["D2:D100"].FormatString = "$#,##0.00";

// Apply a date format
sheet["E2:E100"].FormatString = "yyyy-MM-dd";

// Add borders to a data range
var dataRange = sheet["A1:F20"];
dataRange.Style.Border.Bottom.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.Border.Right.Type = IronXl.Styles.BorderType.Thin;

workbook.SaveAs("formatted-report.xlsx");
WorkBook workbook = WorkBook.Load("report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Apply bold, font size, and background color to header row
var headerRange = sheet["A1:F1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
headerRange.Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;

// Format a currency column
sheet["D2:D100"].FormatString = "$#,##0.00";

// Apply a date format
sheet["E2:E100"].FormatString = "yyyy-MM-dd";

// Add borders to a data range
var dataRange = sheet["A1:F20"];
dataRange.Style.Border.Bottom.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.Border.Right.Type = IronXl.Styles.BorderType.Thin;

workbook.SaveAs("formatted-report.xlsx");
$vbLabelText   $csharpLabel

Eine vollständige Übersicht über die Gestaltungsoptionen finden Sie unter "Zellen, Rahmen und Schriftarten gestalten" .

Konvertierung zwischen Excel- und CSV-Formaten

IronXL übernimmt die Formatkonvertierung direkt, sodass Sie eine CSV-Datei laden und als XLSX speichern oder eine XLSX-Datei zur Weiterverarbeitung in das CSV-Format exportieren können:

// Load a CSV file and save as XLSX
WorkBook csvBook = WorkBook.Load("data-import.csv");
csvBook.SaveAs("data-import.xlsx");

// Load an XLSX file and export as CSV
WorkBook xlsxBook = WorkBook.Load("report.xlsx");
xlsxBook.DefaultWorkSheet.SaveAsCsv("report.csv");
// Load a CSV file and save as XLSX
WorkBook csvBook = WorkBook.Load("data-import.csv");
csvBook.SaveAs("data-import.xlsx");

// Load an XLSX file and export as CSV
WorkBook xlsxBook = WorkBook.Load("report.xlsx");
xlsxBook.DefaultWorkSheet.SaveAsCsv("report.csv");
$vbLabelText   $csharpLabel

Weitere Details zur CSV-Verarbeitung, einschließlich der Konfiguration von Trennzeichen und Kodierungsoptionen, finden Sie im C# CSV Reader-Tutorial und im Konvertierungsleitfaden von CSV zu XLSX .

Wie starte ich eine kostenlose Testphase?

IronXL steht mit einer kostenlosen Entwicklerlizenz zum Download bereit, mit der Sie den vollen Funktionsumfang testen können, bevor Sie sich zum Kauf entscheiden. Während der Testphase gibt es keine Funktionsbeschränkungen – Sie evaluieren dieselbe Bibliothek, die auch in der Produktion zum Einsatz kommt.

Um loszulegen:

  1. Installieren Sie das Paket über NuGet:
    dotnet add package IronXL
    dotnet add package IronXL
    SHELL
  2. Besuchen Sie die IronXL -Lizenzseite , um einen kostenlosen Testschlüssel zu erhalten.
  3. Wenden Sie den Schlüssel im Code an, bevor Sie IronXL aufrufen:
    IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
    IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
    $vbLabelText   $csharpLabel

Lizenzen sind für einzelne Entwickler, Teams und Organisationen erhältlich. Auf der IronXL Produktseite finden Sie alle Preisdetails und Bereitstellungsoptionen, einschließlich lizenzgebührenfreier Vertriebsrechte. Einen umfassenderen Überblick über alle Iron Software Produkte und deren Integration finden Sie in der Iron Software Suite .

Häufig gestellte Fragen

Wie kann ich Excel-Dateien in C# ohne Microsoft Office öffnen?

Sie können IronXL verwenden, um Excel-Dateien in C# ohne die Notwendigkeit von Microsoft Office zu öffnen. IronXL bietet eine moderne Alternative zu Interop, mit besserer Leistung und ohne Excel-Abhängigkeiten.

Was sind die Vorteile der Verwendung von IronXL zur Verarbeitung von Excel-Dateien in C#?

IronXL bietet mehrere Vorteile, darunter verbesserte Leistung, keine Abhängigkeit von Excel-Installationen und größere Flexibilität bei der Bereitstellung. Es ermöglicht Entwicklern, Berichte zu automatisieren, Datenimporte zu lesen und Tabellenkalkulationen effizient zu erstellen.

Kann IronXL Excel-Dateien für Automatisierungsaufgaben verarbeiten?

Ja, IronXL ist gut geeignet für Automatisierungsaufgaben wie das Erstellen von wöchentlichen Berichten, das Lesen von Datenimporten und das Erstellen von Werkzeugen zur dynamischen Tabellenkalkulationserstellung.

Ist IronXL ein geeigneter Ersatz für Interop in C#-Anwendungen?

IronXL ist ein geeigneter Ersatz für Interop, da es eine moderne Lösung bietet, die die Notwendigkeit von Excel-Abhängigkeiten eliminiert und die Anwendungsleistung beim Arbeiten mit Excel-Dateien verbessert.

Unterstützt IronXL das Lesen und Schreiben von Excel-Dateien?

IronXL unterstützt vollumfänglich das Lesen und Schreiben in Excel-Dateien, was es zu einem vielseitigen Werkzeug for .NET-Entwickler bei der Handhabung von Tabellendaten macht.

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

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an