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);
Im folgenden Artikel wird gezeigt, wie man einen C#-Datensatz in eine CSV-Datei konvertiert.
IronXL ist eine großartige Lösung für die Arbeit mit Tabellenkalkulationen, ob im CSV-Format oder in Excel-Dateien. IronXL ist kostenlos für die Entwicklung, einfach zu bedienen und bietet umfangreiche Funktionen für die Arbeit mit jeder Art von Tabellenkalkulation. Es ist sicher und bietet eine hohe Leistung. Bevor wir fortfahren, wollen wir IronXL kurz vorstellen.
IronXL
IronXL ist einIron Software bibliothek, die es C#-Entwicklern ermöglicht, Excel zu lesen, zu erzeugen und zu bearbeiten(und andere Tabellenkalkulationsdateien) in .NET-Anwendungen und Websites.
IronXL ist ein schneller und einfacher Weg, um mit Excel und anderen Tabellenkalkulationsdateien in C# und .NET zu arbeiten. IronXL funktioniert gut mit .NET-Framework, .NET Core und Azure, ohne dass Office Excel Interopm benötigt wird. IronXL erfordert auch keine Installation von Microsoft Office oder andere Abhängigkeiten.
Beginnen wir mit dem Erstellen und Schreiben des Codes für die Erstellung einer CSV-Datei für einen Datensatz.
Erstellen Sie ein neues Visual Studio-Projekt
Öffnen Sie die Visual Studio IDE; die neueste Version von Visual Studio wird empfohlen, aber Sie können jede beliebige Version verwenden. Bitte beachten Sie, dass die Schritte zur Erstellung eines neuen Projekts von Version zu Version unterschiedlich sein können.
Startfenster von Visual Studio
Klicken Sie auf Neues Projekt erstellen. Es erscheint ein neues Fenster (siehe unten).
Erstellen Sie ein neues Projekt in Visual Studio
Wählen Sie Ihre bevorzugte Projektvorlage aus der Liste aus. Klicken Sie auf die Schaltfläche Weiter. Daraufhin wird ein neues Fenster angezeigt (siehe unten).
Konfigurieren Sie das neu erstellte Projekt
Benennen Sie Ihr Projekt, wählen Sie den Speicherort und klicken Sie auf die Schaltfläche Weiter. Es erscheint ein neues Fenster (siehe unten).
Wählen Sie eine .NET-Framework-Version
Wählen Sie das gewünschte .NET-Framework aus. Sie können jedes .NET-Framework auswählen, das Ihren Anforderungen entspricht, da IronXL jedes .NET-Framework unterstützt. In diesem Lernprogramm wird .NET 7 verwendet. Klicken Sie auf die Schaltfläche Erstellen, und es wird ein neues Projekt erstellt, wie unten gezeigt.
eine neue Konsolenanwendung in Visual Studio
Installieren Sie nun das IronXL NuGet-Paket, um es in dieser Anwendung zu verwenden.
IronXL installieren
Öffnen Sie die NuGet-Paketmanager-Konsole und geben Sie den folgenden Befehl ein.
Install-Package IronXL.Excel
DieNuGet-Paket wird wie unten gezeigt installiert und ist sofort einsatzbereit.
Die Installation des IronXL-Pakets und seiner Abhängigkeiten
Lassen Sie uns nun etwas Code schreiben, um einen Datensatz in eine CSV-Datei in C# zu konvertieren.
In diesem Beispiel werden Daten aus einer SQL-Server-Datenbank eingefügt. Nachdem wir den Datensatz aus der SQL-DB erhalten haben, erstellen wir eine CSV-Datei mit diesen Eingabedaten.
Erstellen Sie die Datentabelle
Der erste Schritt ist das Auffüllen von Daten aus SQL, aber Sie können jede beliebige Datenquelle verwenden.
In diesem Lehrgang werden die folgenden Daten verwendet:
Erstellen Sie eine neue Datenbank mit Beispieldaten
Hier ist das SQL-Skript zur Erstellung der Beispieldaten:
Der folgende C#-Code wird verwendet, um die Datentabelle in eine CSV-Datei zu exportieren.
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
Public Shared Function getData() As DataTable
Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
Dim query As String = "select * from STUDENT_DATA"
Try
Dim conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(query, conn)
conn.Open()
' create data adapter
Dim da As New SqlDataAdapter(cmd)
' this will query your database and return the result to your datatable
Dim dt As New DataTable()
da.Fill(dt)
da.Dispose()
Return dt
Catch e1 As Exception
Throw
End Try
End Function
Shared Sub Main(ByVal args() As String)
Dim table As DataTable = getData()
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "JOHN"
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
ws ("B" & (rowCount)).Value = row (1).ToString()
ws ("C" & (rowCount)).Value = row (2).ToString()
ws ("D" & (rowCount)).Value = row (3).ToString()
ws ("E" & (rowCount)).Value = row (4).ToString()
rowCount += 1
Next row
wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
$vbLabelText $csharpLabel
Code Erläuterung
Die Methode getData() Daten aus einer SQL Server-Datenbank abrufen, wie bereits erwähnt.
In der Hauptfunktion wird einearbeitsbuch mit IronXL und erstellen Sie dann einearbeitsblatt.
In einer "for"-Schleife werden die Daten in die Zeilen des angegebenen Arbeitsblatts eingefügt.
Danach speichern Sie diese Datei als CSV-Datei mit dem BefehlspeichernAlsCsv funktion von IronXL.
Ausgabe
Die von diesem Programm erzeugte CSV-Datei sieht wie folgt aus:
Die CSV-Ausgabedatei
Es ist klar, dass die CSV-Datei ordnungsgemäß erstellt wird und mit den Eingaben übereinstimmt.
Zusammenfassung
In diesem Artikel wurde gezeigt, wie man in C# eine CSV-Datei aus einem Datensatz erstellt. Die Bibliothek kann auchcSV-Dateien mit C# lesen. Der Datensatz aus einer SQL Server-Datenbank wird in drei Schritten aufgefüllt und eine CSV-Datei erstellt:
Daten von SQL Server abrufen.
Daten in eine Datentabelle einfügen.
Erstellen Sie eine CSV-Datei aus dieser Datentabelle.
Es ist sehr einfach, eine CSV-Datei in .NET 7 mit IronXL zu erstellen, wie oben gezeigt. Die Leistung des Programms ist außergewöhnlich, da es in .NET 7 mit IronXL geschrieben ist. IronXL bietet weitere nützliche Funktionen wie das Erstellen, Lesen und Bearbeiten von Excel-Dateien. Weitere Einzelheiten finden Sie auf der Websiteoffizielle Dokumentation.
Die kostenlose Version von IronXL wird für Entwicklungszwecke verwendet. Um eine Anwendung in der Produktion einzusetzen, benötigen Sie einekostenloser Test version oder einehandelslizenz. IronXL ist Teil vonIron Suitedie aus fünf Bibliotheken besteht:
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Wie importiere ich eine Excel-Datei in C#?
NÄCHSTES > Wie man in VB.NET in eine Excel-Datei schreibt