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. Allerdings ist dieIronXL C# Excel Library wird in diesem Blog verwendet werden, um diese Aufgaben mit nur zwei Zeilen Code durchzufü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. Klicken Sie dann 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 eine neue 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.
Installation von IronXL mit der Visual Studio NuGet Package 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.
Suchen Sie die IronXL-Bibliothek im NuGet-Paketmanager, indem Sie im Abschnitt Durchsuchen nach ihr suchen
Wählen Sie das Paket "IronXL.Excel" aus und klicken Sie auf die Schaltfläche Installieren, um es dem Projekt hinzuzufügen.
2.2. Verwendung der Visual Studio-Befehlszeile
Gehen Sie im Menü von Visual Studio zu Tools > NuGet Package Manager > klicken Sie auf Package Manager Console.
Zugriff auf die NuGet Package 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
Installation der 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.
Beispiel Excel-Daten
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 stehen doppelte Anführungszeichen für fette Werte.
Das Ergebnis des Aufrufs der Methode WorkBook.SaveAsCsv für die Excel-Musterarbeitsmappe
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 XLS-Beispieldatei
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 CSV-Datei, die mit dem obigen Code gespeichert wurde
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 für ein 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 ausgegebene CSV-Datei
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:
Eine breite Palette von Funktionen, einschließlich Datenmanipulation, unddatenexport.
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