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, sei es 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 eine Iron Software-Bibliothek, die C#-Entwicklern ermöglicht, Excel (und andere Tabellenkalkulationsdateien) in .NET-Anwendungen und Websites zu lesen, zu erstellen und zu bearbeiten.
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, und es erscheint ein neues Fenster wie unten gezeigt.
Konfigurieren Sie das neu erstellte Projekt
Benennen Sie Ihr Projekt, wählen Sie dessen Speicherort aus und drücken Sie die Weiter-Taste. Es erscheint ein neues Fenster (siehe unten).
Wählen Sie eine .NET Framework-Version aus
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 Tutorial wird .NET 7 verwendet. Klicken Sie auf die Schaltfläche Erstellen, und ein neues Projekt wird erstellt, wie unten dargestellt.
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
Das NuGet-Paket wird installiert und einsatzbereit sein, wie unten gezeigt.
Die Installation des IronXL-Pakets und seiner Paketabhä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() wird Daten aus einer SQL Server-Datenbank abrufen, wie zuvor besprochen.
In der Hauptfunktion wird ein WorkBook mit IronXL erstellt und dann ein WorkSheet erzeugt.
In einer for-Schleife werden Daten in die Zeilen des angegebenen Arbeitsblatts eingefügt.
Speichern Sie danach diese Datei als CSV mit der SaveAsCsv-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 auch CSV-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. Für weitere Details besuchen Sie bitte die offizielle Dokumentation.
Die kostenlose Version von IronXL wird für Entwicklungszwecke verwendet. Um eine Anwendung in der Produktion bereitzustellen, erwerben Sie bitte eine kostenlose Testversion oder eine kommerzielle Lizenz. IronXL ist Teil der Iron Suite, die aus fünf Bibliotheken besteht:
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 Wie importiere ich eine Excel-Datei in C#?
NÄCHSTES > Wie man in VB.NET in eine Excel-Datei schreibt