Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man einen .NET CSV-Writer mit IronXL erstellt

Warum brauchen .NET-Entwickler eine bessere CSV-Lösung?

CSV-Dateien ermöglichen den Datenaustausch in unzähligen .NET-Anwendungen. Von Finanzberichten bis hin zu Inventarsystemen haben Sie die Freiheit, CSV-Dateien mit nur wenigen Codezeilen programmgesteuert zu erstellen. Während Bibliotheken wie CsvHelper grundlegende CSV-Operationen abdecken, stehen moderne Entwickler vor komplexen Szenarien: Konvertierung von Excel-Arbeitsmappen mit Formeln, Erhalt der Datentypen beim Export und Umgang mit unternehmensgerechten Tabellenkalkulations-Workflows. IronXL addresses these challenges by combining robust CSV writing with comprehensive Excel functionality in a single, handling multiple columns with ease in a single,dependency-free library that follows RFC 4180-Standards folgt.

Dies macht es ideal für Entwickler, die einen benutzerdefinierten .NET-CSV-Schreiber oder .NET-CSV-Parser erstellen, der mehrere Spalten unterstützt, zeilenbezogene Funktionen bietet, die nur die verarbeitete Zeile betreffen, und automatisch erkannte Trennzeichen verwendet.

Erste Schritte mit IronXL

Die Installation von IronXL über den NuGet-Paketmanager dauert nur Sekunden:

Install-Package IronXL.Excel

Sobald installiert, fügen Sie den Namespace von IronXL hinzu, um mit dem Schreiben von CSV-Dateien zu beginnen und effizient mit getrennten Werten zu arbeiten:

using IronXL;
class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet workSheet = workBook.CreateWorkSheet("data");
        // Add headers
        workSheet["A1"].Value = "Product";
        workSheet["B1"].Value = "Quantity";
        workSheet["C1"].Value = "Price";
        // Add data
        workSheet["A2"].Value = "Widget";
        workSheet["B2"].Value = 100;
        workSheet["C2"].Value = 19.99;
        // Save as CSV with comma delimiter
        workBook.SaveAsCsv("inventory.csv", ",");
    }
}
using IronXL;
class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet workSheet = workBook.CreateWorkSheet("data");
        // Add headers
        workSheet["A1"].Value = "Product";
        workSheet["B1"].Value = "Quantity";
        workSheet["C1"].Value = "Price";
        // Add data
        workSheet["A2"].Value = "Widget";
        workSheet["B2"].Value = 100;
        workSheet["C2"].Value = 19.99;
        // Save as CSV with comma delimiter
        workBook.SaveAsCsv("inventory.csv", ",");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieses einfache Konsolentestprogramm zeigt, wie man CSV-Inhalte direkt aus Ihrem C#-Code schreibt und ein Workbook-Objekt erstellt, das unsere Daten enthält. Die SaveAsCsv-Methode verwendet als Standardtrennzeichen (Komma), ermöglicht es Ihnen jedoch, sep für verschiedene Gebiete optional zu definieren; dies ist besonders hilfreich beim Umgang mit einem Dezimaltrennzeichen oder einem alternativen Zeichentrennzeichen. Intern verwaltet sep die Zuweisung von Arrays für den Ausgabepuffer. Der zuvor erwähnte sep-Parameter ermöglicht es Ihnen, dieses Zeichen zu definieren.

Wir haben auch gezeigt, wie man einen statischen Einstiegspunkt bereitstellt und wie man das Speichermanagement effizient mit einem statisch definierten Pool von Ressourcen verwaltet, was eine hohe Leistung über mehrere Zeilen hinweg ermöglicht.

Erweiterte Techniken zur Erstellung von CSV-Dateien

So erstellen Sie einen .NET CSV-Writer mit IronXL: Abbildung 1 - Beispiel CSV-Ausgabe mit IronXL

Erweiterte Techniken zur Erstellung von CSV-Dateien

Konvertierung von Excel-Arbeitsmappen in CSV

IronXL ist hervorragend bei der Konvertierung vorhandener Excel-Dateien in CSV, der Evaluierung von Formeln und dem Erhalt der Datenintegrität. Dies ist wesentlich beim Schreiben von CSV-Dateien, die sowohl Kopfzeilen als auch dynamisch generierte Daten enthalten.

// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// IronXL evaluates formulas before export
workBook.EvaluateAll();
// Export to CSV - each worksheet creates a separate CSV file
workBook.SaveAsCsv("report.csv", ",");
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// IronXL evaluates formulas before export
workBook.EvaluateAll();
// Export to CSV - each worksheet creates a separate CSV file
workBook.SaveAsCsv("report.csv", ",");
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Beim Konvertieren von Arbeitsmappen mit mehreren Arbeitsblättern generiert IronXL automatisch einzelne CSV-Dateien für jedes Arbeitsblatt. Formelberechnungen werden vor dem Export ausgeführt, um genaue Daten im endgültigen CSV-Output zu gewährleisten. Aber dies ist nicht die einzige Funktion. Der standardmäßig automatisch erkannte Trenner sorgt für Kompatibilität über Regionen hinweg, und mehrere Zeilen oder Spalten werden nahtlos verarbeitet.

Sie können auch einen nullable sep für dynamische Umgebungen verwenden, in denen die standardmäßig unterstützten Trenner variieren.

Ausgabe

Zuerst sehen Sie hier die aus unserer mehrschichtigen Excel-Datei generierten CSV-Dateien:

So erstellen Sie einen .NET CSV-Writer mit IronXL: Abbildung 2 - CSV-Dateien

Und dies ist ein Beispielvergleich eines der Excel-Blätter gegenüber der entsprechenden CSV-Datei:

So erstellen Sie einen .NET CSV-Writer mit IronXL: Abbildung 3 - Beispielausgabe

Export von DataTable nach CSV

Für datenbankgesteuerte Anwendungen vereinfacht IronXL den Export von DataTable. Wir setzen die var auf Datarow anstelle einer typischen ref var v, um klarer zu sein.

// Assume dataTable contains query results
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Import DataTable directly
var row = 1;
foreach (var dataRow in dataTable.Rows)
{
    for (var col = 0; col < dataTable.Columns.Count; col++)
    {
        workSheet.SetCellValue(row, col, dataRow[col].ToString());
    }
    row++;
}
// Export with custom delimiter if needed
workBook.SaveAsCsv("sales_data.csv", ";");
// Assume dataTable contains query results
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Import DataTable directly
var row = 1;
foreach (var dataRow in dataTable.Rows)
{
    for (var col = 0; col < dataTable.Columns.Count; col++)
    {
        workSheet.SetCellValue(row, col, dataRow[col].ToString());
    }
    row++;
}
// Export with custom delimiter if needed
workBook.SaveAsCsv("sales_data.csv", ";");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Beim Import wird jedes set horizontaler Daten aus der Sammlung dataTable.Rows zu einer neuen Zeile im Arbeitsblatt. IronXL bewahrt Datentypen während der Umwandlung, das heißt, Zahlen bleiben numerisch, Daten behalten ihre Formatierung und Text bearbeitet Sonderzeichen korrekt, ohne zusätzliche Konfiguration.

Ausgabe

Hier können Sie neben der CSV-Ausgabedatei unsere Mock-Datenquelle sehen:

So erstellen Sie einen .NET CSV-Writer mit IronXL: Abbildung 4 - Exportieren von DataTable zu CSV-Ausgabe

IronXL vs CsvHelper: Vergleich für das Schreiben von CSV-Dateien

Betrachten Sie dieses Szenario des Mitarbeiterdatensatzexports, das Workflows zum Parsen und Schreiben von CSV demonstriert.

CsvHelper-Implementierung:

using (var writer = new StreamWriter("employees.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
    csv.WriteRecords(employees);
}
using (var writer = new StreamWriter("employees.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
    csv.WriteRecords(employees);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronXL-Implementierung:

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
// Add data with automatic type handling
int rowIndex = 1;
foreach (var emp in employees)
{
    workSheet[$"A{rowIndex}"].Value = emp.Name;
    workSheet[$"B{rowIndex}"].Value = emp.Salary;
    workSheet[$"C{rowIndex}"].Value = emp.StartDate;
    rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
// Add data with automatic type handling
int rowIndex = 1;
foreach (var emp in employees)
{
    workSheet[$"A{rowIndex}"].Value = emp.Name;
    workSheet[$"B{rowIndex}"].Value = emp.Salary;
    workSheet[$"C{rowIndex}"].Value = emp.StartDate;
    rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Merkmal

CsvHelper

IronXL

Grundlegendes CSV-Schreiben

Excel-zu-CSV-Konvertierung

Formelberechnung

Behandlung mehrerer Arbeitsblätter

Erhalt von Datentypen

Manuell

Automatisch

Unterstützung von Excel-Formaten

XLSX, XLS, XLSM

Kein MS Office erforderlich

Während CsvHelper effizient einfache Operationen zum Schreiben von Spalten verwaltet, bietet IronXL die Flexibilität, mit mehreren Zeilen, interpolierten Zeichenfolgen und dynamischen Code-Generierungsszenarien zu arbeiten und sogar Low-Level-Optimierungen mit Konstrukten wie ref struct link zu ermöglichen.

Entwickler können Zeilen mit bestimmten Kriterien auflisten, standardmäßig automatisch erkannte Trenner verwalten oder sogar mit einfachen Konsolenprogrammen testen, die zeilenbezogene Funktionen bereitstellen und nur den Schlüssel jedes Eintrags für das Debugging exponieren.

Unternehmensfunktionen und Best Practices

Die SaveAsCsv-Methode von IronXL umfasst unternehmensgerechte Funktionen:

  • Benutzerdefinierte Trennzeichen: Unterstützung für Komma, Semikolon, Tabulator oder jedes Zeichen (das Standardtrennzeichen kann mit separator sep überschrieben werden)
  • Kodierungsoptionen: UTF-8, UTF-16 und benutzerdefinierte Kodierungen
  • Formelbewertung: Berechnet Excel-Formeln vor dem Export
  • Plattformübergreifende Unterstützung: Funktioniert unter Windows, Linux und macOS

Entwickler können außerdem Erweiterungsmethoden anwenden, um auf mehrere Spalten für effiziente Verarbeitung zuzugreifen oder CSV-Zeilen zu schreiben, die mehrere Zeilen umfassen, wenn Textumbrüche erforderlich sind.

Häufige Probleme und Lösungen

Beim Arbeiten mit CSV-Exports stoßen Entwickler häufig auf diese Herausforderungen:

  • Sonderzeichen in Daten: IronXL entwertet automatisch Anführungszeichen, Kommas und Zeilenumbrüche
  • Verarbeitung großer Dateien: Verwenden Sie Arbeitsblattbereiche, um Daten in Teilen zu verarbeiten,
  • Codierungsprobleme: Geben Sie die UTF-8-Codierung für internationale Zeichen an
  • Fehlende Datentypen: IronXL erhält numerische und Datumsformate standardmäßig

For detailed troubleshooting, visit IronXL's CSV documentation, API reference, and support resources.

Beginnen Sie heute mit dem Erstellen Ihres CSV-Schreibers

IronXL verwandelt das Schreiben von CSV von einer Parserherausforderung in eine unkomplizierte Operation. Durch die Kombination der CSV-Funktionalität mit der Unterstützung von Excel-Arbeitsmappen, der Bewertung von Formeln und der automatischen Typbehandlung beseitigt IronXL die Komplexität der Verwaltung mehrerer Bibliotheken oder manueller Datenkonvertierungen.

Bereit, Ihre CSV-Workflows zu vereinfachen? Starten Sie Ihre kostenlose Testversion ab $liteLicense.

Häufig gestellte Fragen

Wofür wird IronXL verwendet?

IronXL ist eine .NET-Bibliothek, die entwickelt wurde, um mit Excel-Dateien zu arbeiten. Sie ermöglicht es Entwicklern, Excel-Dokumente zu erstellen, zu lesen und zu bearbeiten sowie sie in verschiedene Formate wie CSV zu exportieren, während Datentypen beibehalten und komplexe Tabellenkalkulationsszenarien verwaltet werden.

Wie kann IronXL beim CSV-Schreiben in .NET helfen?

IronXL bietet Funktionen, um Excel-Arbeitsmappen im CSV-Format zu exportieren, wobei sichergestellt wird, dass Datentypen beibehalten und komplexe Tabellenkalkulationsszenarien effektiv gehandhabt werden. Das macht es zur idealen Wahl für .NET-Entwickler, die eine robuste CSV-Schreiberlösung benötigen.

Warum sollten Entwickler IronXL für CSV-Operationen in Betracht ziehen?

Entwickler sollten IronXL in Betracht ziehen, da es Excel-Dateien nahtlos in CSV exportieren, große Datensätze verwalten und die Integrität der Datentypen bewahren kann. Es bietet eine überlegene Lösung für CSV-Operationen in .NET-Anwendungen.

Was sind die Vorteile der Verwendung von IronXL für das Tabellenkalkulationsmanagement?

Zu den Vorteilen der Verwendung von IronXL für das Tabellenkalkulationsmanagement gehören die einfache Manipulation von Excel-Dokumenten, die Unterstützung verschiedener Exportformate wie CSV und die Fähigkeit, komplexe Datenstrukturen und große Datensätze effizient in .NET-Anwendungen zu verwalten.

Kann IronXL große Excel-Dateien beim Exportieren in CSV bewältigen?

Ja, IronXL ist darauf ausgelegt, große Excel-Dateien effizient zu verwalten und es Entwicklern zu ermöglichen, große Datenmengen in CSV zu exportieren, ohne die Leistung oder Datenintegrität zu beeinträchtigen.

Wie stellt IronXL die Erhaltung der Datentypen beim Exportieren in CSV sicher?

IronXL stellt die Erhaltung der Datentypen sicher, indem es Excel-Daten genau ins CSV-Format konvertiert und die ursprünglichen Datentypen und Strukturen beibehält, was für Anwendungen, die präzise Datenverarbeitung erfordern, entscheidend ist.

Ist IronXL für komplexe Tabellenkalkulationsszenarien geeignet?

IronXL ist gut geeignet für komplexe Tabellenkalkulationsszenarien und bietet erweiterte Funktionen zur Verwaltung und Manipulation komplexer Excel-Dokumente sowie die Möglichkeit, Daten genau in CSV oder andere Formate zu exportieren.

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