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);
Haben Sie schon einmal versucht, CSV-Dateien zu analysieren und sie in XLSX- oder XLSX-Dateien in CSV-Dateien zu konvertieren, um eine wichtige Aufgabe in .NET zu erledigen, konnten aber nicht herausfinden, wie Sie das tun können, ohne tonnenweise Code zu schreiben?
Es gibt viele CSV-Bibliotheken, die dieses Problem lösen. Jedoch wird die IronXL C# Excel-Bibliothek in diesem Blog verwendet, um diese Aufgaben mit nur zwei Codezeilen auszuführen.
Für die ersten Schritte benötigen Sie lediglich Visual Studio, und folgen Sie den detaillierten Installationsanweisungen unten.
1. Erstellen eines neuen Projekts in Visual Studio
Öffnen Sie den Visual Studio-Editor.
Rufen Sie das Menü Datei in Visual Studio auf. Wählen Sie "Neues Projekt" und dann "Konsolenanwendung".
Geben Sie den Projektnamen ein und wählen Sie den Projektstandort. Anschließend klicken Sie auf die Schaltfläche Erstellen, um das Projekt zu erstellen. Wählen Sie das gewünschte .NET-Framework aus, wie in der folgenden Abbildung dargestellt:
Erstellen Sie ein neues C#. NET-Konsolenanwendung
Die Datei program.cs wird geöffnet, damit Sie die Logik eingeben und die Anwendung erstellen/ausführen können.
2. Installieren Sie die IronXL C#-Bibliothek
Die IronXL-Bibliothek kann auf viele verschiedene Arten heruntergeladen und installiert werden. Heute werden wir uns auf zwei dieser Themen konzentrieren:
Verwendung des Visual Studio NuGet-Paketmanagers
Verwendung der Visual Studio-Befehlszeile
2.1. Verwendung des Visual Studio NuGet-Paketmanagers
Die NuGet Package Manager UI ist in Visual Studio verfügbar, um das Paket direkt in das Projekt zu installieren. Der folgende Screenshot zeigt, wie man sie öffnet.
Installieren von IronXL mit dem Visual Studio NuGet-Paket-Manager GUI
Die Benutzeroberfläche des Paketmanagers bietet eine Suchfunktion, die eine Liste der Paketbibliotheken anzeigt, die auf der NuGet-Website angeboten werden. Geben Sie das Schlüsselwort "IronXL" ein (siehe Abbildung unten), um das IronXL-Paket zu finden.
Lokalisieren Sie die IronXL-Bibliothek im NuGet-Paket-Manager, indem Sie im Durchsuchen-Bereich danach suchen
Wählen Sie das Paket IronXL.Excel aus und klicken Sie auf die Schaltfläche Installieren, um es zum Projekt hinzuzufügen.
2.2. Verwendung der Visual Studio-Befehlszeile
Im Visual Studio-Menü gehen Sie zu Tools > NuGet-Paket-Manager > klicken Sie auf Paket-Manager-Konsole.
Zugriff auf die NuGet-Paket-Manager-Konsole in Visual Studio über das Menü "Tools"
Die Paketmanager-Konsole wird am unteren Rand des Bildschirms angezeigt. Geben Sie einfach den folgenden Befehl ein und drücken Sie die Eingabetaste. IronXL wird dann installiert.
Install-Package IronXL.Excel
Installieren Sie die IronXL-Bibliothek über die Befehlszeile
3. Parsen von CSV-Dateien
Das manuelle Parsen von CSV-Dateien erfordert eine Menge präzisen Code, um die Aufgabe zu erledigen, aber mit IronXL sind dafür nur ein paar Zeilen Code erforderlich.
Wenn Sie nur herkömmlichen C#-Code zum Parsen von CSV-formatierten Dateien verwenden, müssen Sie eine Menge sperrigen Code verwenden. Hier ist ein Beispiel für einen entsprechenden Code.
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next record
End Sub
End Class
End Namespace
$vbLabelText $csharpLabel
Mit IronXL lässt sich dies jedoch mit wenigen Zeilen Code erreichen.
Mit IronXL können Sie CSV-Dateien aus XLSX, XLS, TSV und anderen Formaten parsen. In diesem Tutorial werden wir uns mit den folgenden Konvertierungen beschäftigen:
CSV-Datei aus XLSX-Datei auslesen
CSV-Datei aus XLS-Datei parsen
CSV-Datei aus TSV-Datei auslesen
3.1. Parsen einer CSV-Datei aus einer XLSX-Datei
Öffnen Sie Microsoft Excel und erstellen Sie eine neue XLSX-Datei. Füllen Sie die Zeilen und Spalten mit einigen Scheindaten. Das folgende Bild zeigt die Datei, die für alle Konvertierungen in diesem Tutorial verwendet wird.
Beispieldaten für Excel
Sobald Sie Ihre Datei fertig haben, schreiben Sie den folgenden Beispielcode und führen das Programm aus.
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
$vbLabelText $csharpLabel
Nach Abschluss der Ausführung wird eine neue Datei mit dem Namen Parsed CSV.csv erstellt. Das Lesen von CSV-Dateien kann in jedem beliebigen Editor oder Leseprogramm erfolgen. Das folgende Bild zeigt die Ausgabe des obigen Befehls - unsere generierten CSV-Daten. In der Ausgabedatei stellen doppelte Anführungszeichen fette Werte dar.
Das Ergebnis des Aufrufs der WorkBook.SaveAsCsv-Methode auf dem Beispiel-Excel-Workbook
3.2. CSV-Datei aus XLS-Datei parsen
In diesem Beispiel wird gezeigt, wie XLS-Dateien in das CSV-Format konvertiert werden können.
Lassen Sie uns zunächst eine XLS-Beispieldatei erstellen, die wir in das CSV-Format konvertieren können.
Eine Beispiel-XLS-Datei
Als Nächstes führen wir den folgenden Codeblock aus, um die XLS-Beispieldatei in eine CSV-Datei zu konvertieren.
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
$vbLabelText $csharpLabel
Nach der Ausführung des obigen Codes erhalten Sie eine neu generierte CSV-Datei.
Die resultierende CSV-Datei vom Speichern mit dem obigen Code
3.3. CSV-Datei aus TSV-Datei parsen
In Tabellenkalkulationsanwendungen werden häufig TSV-Dateien (Tab-Separated Values) verwendet, um Daten zwischen Datenbanken zu übertragen. Es speichert eine Datentabelle, bei der die Datenspalten durch Tabulatoren getrennt sind und jeder Datensatz in einer anderen Zeile steht.
IronXL bietet einen CSV-Parser zum Parsen von CSV-Dateien aus dem TSV-Format für eine bessere Datenverwaltung.
Lassen Sie uns mit dem Beispiel beginnen.
Ein Beispiel-TSV-Tabellenblatt
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
$vbLabelText $csharpLabel
Nachfolgend finden Sie die Ausgabe im CSV-Format.
Die Ausgabedatei im CSV-Format
4. Schlussfolgerung
Dieses Tutorial verwendet IronXL, um verschiedene Dateiformate in C# in CSV zu parsen.
Darüber hinaus bietet die IronXL-Bibliothek auch die folgenden Funktionen:
Ein breites Spektrum an Funktionen, einschließlich Datenmanipulation und Datenexport.
Unterstützung der Diagrammverwaltung, die vollständig mit Excel kompatibel ist.
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.
< PREVIOUS Erstellen einer CSV-Datei in C# (Schritt-für-Schritt) Tutorial
NÄCHSTES > Wie man in Blazor mit IronXL Daten nach Excel exportiert