using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
In diesem Artikel erfahren Sie, wie Sie mit IronXL eine CSV-Datei schreiben können.
IronXL-Bibliothek
IronXL ist eine .NET Excel-Bibliothek, die umfassende Funktionen zum Erstellen, Lesen und Bearbeiten von Tabellenkalkulationsdateien in C#-Anwendungen bietet. Er zeichnet sich durch hohe Leistung und Ausgabegenauigkeit aus. Es unterstützt verschiedene Tabellenkalkulationsformate wie XLS, XLSX, XLSM, CSV und TSV. Zusätzlich ermöglicht es Ihnen, Daten zu speichern oder zu exportieren aus Excel-Dateien in Formate wie CSV, JSON, HTML, Binary, Byte Array, DataSet oder DataTable.
IronXL bietet die Möglichkeit, Excel-Dateien mit Benutzerpasswörtern zu schützen und Berechtigungen für die Bearbeitung festzulegen. Darüber hinaus bietet es Funktionen zum Hinzufügen, Entfernen und Extrahieren von Bildern aus Excel-Arbeitsblättern. Die Bibliothek umfasst eine breite Palette von Excel-Funktionen, die verschiedene Zelldatenformate unterstützen. Das macht IronXL zu einer der intuitivsten APIs für die Arbeit mit Excel-Dateien.
Ein bemerkenswerter Vorteil von IronXL besteht darin, dass keine Abhängigkeiten von Microsoft Excel oder Office Interop auf dem Rechner installiert werden müssen. Es handelt sich um eine eigenständige Lösung, die plattformübergreifend funktioniert und mit den .NET-Versionen 7, 6 und 5 kompatibel ist. Sie unterstützt auch .NET Core 2 und 3 sowie die Standardversion 2. Für die Arbeit mit Excel-Tabellen ist IronXL mit dem .NET-Framework 4.5 und späteren Versionen kompatibel.
Erstellen einer Konsolenanwendung
Für den Einstieg in die Erstellung einer Anwendung wird die neueste Version von Visual Studio empfohlen. Visual Studio ist die offizielle IDE für die C#-Entwicklung, und Sie müssen sie installiert haben. Sie können es von der Microsoft Visual Studio-Website herunterladen, falls es nicht installiert ist.
Mit den folgenden Schritten wird ein neues Projekt mit dem Namen "DemoApp" erstellt.
Öffnen Sie Visual Studio und klicken Sie auf "Ein neues Projekt erstellen".
Öffnen Sie Visual Studio
Wählen Sie Konsolenanwendung und klicken Sie auf "Weiter".
Erstellen Sie ein neues Projekt in Visual Studio
Legen Sie den Namen des Projekts fest
Konfigurieren Sie Ihr neues Projekt
Wählen Sie die .NET-Version aus. Wählen Sie die stabile Version .NET 6.0.
.NET Framework-Auswahl
IronXL-Bibliothek installieren
Sobald das Projekt erstellt ist, muss die IronXL-Bibliothek im Projekt installiert werden, um sie zu verwenden. Befolgen Sie diese Schritte, um es zu installieren.
Öffnen Sie den NuGet Package Manager entweder über den Solution Explorer oder die Tools.
Wechseln Sie zum NuGet-Paket-Manager
Suchen Sie nach IronXL Library und wählen Sie das aktuelle Projekt aus. Klicken Sie auf Installieren.
Suchen und installieren Sie das IronXL-Paket im NuGet-Paketmanager-UI
Fügen Sie den folgenden Namespace am Anfang der Datei Program.cs hinzu
using IronXL;
using IronXL;
Imports IronXL
$vbLabelText $csharpLabel
Erstellen einer neuen Arbeitsmappe in C#;
IronXL bietet die Möglichkeit, eine leere Arbeitsmappe zu erstellen. Eine Arbeitsmappe ist ein Arbeitsblatt, das mehrere Arbeitsblätter enthält. Die Daten werden in Zellen gespeichert. CSV sieht ebenfalls wie eine Tabellenkalkulation aus, hat jedoch die Dateierweiterung CSV.
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
' Creates a new Instance of WorkBook SpreadSheet
Dim workBook As New WorkBook()
$vbLabelText $csharpLabel
Nun, lassen Sie uns ein Blatt in der WorkBook erstellen. Es gibt mehrere Möglichkeiten, ein Arbeitsblatt in der Arbeitsmappe zu erstellen.
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;
// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;
// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds sheet1 to the workbook
Dim sheet As WorkSheet = workBook.DefaultWorkSheet
' Creates a worksheet with name Sheet1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
$vbLabelText $csharpLabel
Wenn Sie Ihrem bestehenden Arbeitsbuch weitere Arbeitsblätter hinzufügen möchten, verwenden Sie die CreateWorkSheet-Methode.
Hinweis: Sie können die Methode WorkBook.LoadCSV verwenden, wenn die CSV-Datei bereits existiert. Sie können diese Codebeispielseite zum Laden einer vorhandenen CSV-Datei ansehen.
Daten in das WorkSheet schreiben
Das Schreiben von CSV-Dateien ist mit IronXL ganz einfach. Es bietet Excel-Funktionen zum Schreiben von Daten in CSV-Dateien. Zellbezüge können verwendet werden, um die Werte an bestimmten Stellen hinzuzufügen. Hier werde ich einige Datensätze von Mitarbeitern mit einer foreach-Schleife hinzufügen.
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"
For Each employee In employeenames
sheet ("A" & i).Value = i
sheet ("B" & i).Value = employee
sheet ("C" & i).Value = i * 1000
i += 1
Next employee
$vbLabelText $csharpLabel
Im obigen Codebeispiel wird ein Array von employeenames erstellt und die erste Zeile mit den Überschriften: ID, Name, Gehalt gesetzt. Eine Variable i wird ebenfalls mit dem Wert 2 initialisiert, wodurch die Einträge ab der 2. Zeile unterhalb der Kopfzeilen eingefügt werden. Die foreach-Schleife nimmt einen Mitarbeiter aus der Liste und fügt ihn der Zeile mit ID- und Gehaltswerten hinzu. Bevor die Schleife endet, sollte der Wert von i inkrementiert werden, andernfalls wird jeder Datensatz zur selben Zeile hinzugefügt.
Speichern der Daten in einer CSV-Datei
Der letzte Schritt besteht darin, die CSV-Datei zu speichern. IronXL bietet die Methode SaveAsCsv, um die Arbeitsmappe als CSV-Datei zu speichern. Der erste Parameter dieser Methode ist der Name der CSV-Datei und der zweite ist das Trennzeichen.
Imports System
Imports IronXL
Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"
For Each employee In employeenames
sheet ("A" & i).Value = i
sheet ("B" & i).Value = employee
sheet ("C" & i).Value = i * 1000
i += 1
Next employee
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText $csharpLabel
Ausgabe
Die Ausgabedatei im CSV-Format
Zusammenfassung
In diesem Artikel wird ein einfacher Ansatz zum Schreiben einer CSV-Datei mit IronXL in C# vorgestellt. IronXL bietet auch die Möglichkeit, mit bestehenden CSV-Dateien zu arbeiten, ohne dass es zu Problemen kommt. Sie können damit auch CSV-Dateien schreiben, neue Excel-Dateien erstellen und mit einer einfachen Syntax Daten in diese Dateien schreiben. IronXL kann auch zum Lesen und Schreiben von Excel-Dateien verwendet werden, ohne dass Microsoft Office installiert ist. Für die Konvertierung zwischen verschiedenen Tabellenkalkulationsformaten können Sie sich diese Codebeispielseite ansehen.
IronXL ist für die Entwicklung kostenlos und kann für die kommerzielle Nutzung lizenziert werden. Sie können auch die kostenlose Testversion von IronXL für kommerzielle Nutzung ausprobieren.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.