Zum Fußzeileninhalt springen
IRONXL VERWENDEN
Wie man eine Datentabelle in eine Excel-Datei konvertiert

DataTable nach Excel in C# (Codebeispiel-Tutorial)

Es kann schwierig sein, ein Excel-Spreadsheet programmatisch zu ändern, aus zwei Hauptgründen. Zuerst müssen Benutzer bei der Arbeit mit Tabellenkalkulationen eine konsistente Schnittstelle und Dokumentstruktur aufrechterhalten, was nicht immer einfach ist. Zweitens ist nicht immer klar, welcher Code in bestimmten Situationen funktionieren wird, insbesondere wenn komplexe Berechnungen involviert sind. Es gibt zahlreiche Gründe, warum die programmatische Erstellung einer Excel-Datei schwierig ist. Programmierer müssen zuerst die Daten im Excel-Dokument in ein lesbares Format umwandeln, dann die Daten analysieren und zurück analysieren, was noch schwieriger ist. Ich habe eine Lösung für dieses Problem gefunden. Ich werde Ihnen beibringen, wie Sie eine Excel-Datei erstellen und ohne Probleme eine DataTable programmatisch in ein Excel-Blatt exportieren können, indem Sie die IronXL .NET Excel-Bibliothek verwenden. Lassen Sie uns beginnen:

class="hsg-featured-snippet">

Wie man DataTable in Excel in C# exportiert

  1. C#-Bibliothek installieren, um DataTable in Excel zu exportieren
  2. Neues Excel-Arbeitsbuch erstellen und Arbeitsblatt zugreifen
  3. Durch DataRow der DataTable in C# iterieren
  4. Zugriff auf Value-Eigenschaft in Cell und das Arbeitsblatt mit Daten aus DataRow füllen
  5. Excel-Tabelle am gewünschten Ort exportieren

IronXL-Funktionen

  • IronXL runs on a variety of Operating Systems, including Windows, Linux, and macOS.
  • Fast alle .NET-Frameworks werden von IronXL unterstützt, einschließlich der Konsole, Windows Forms Application und Web Application.
  • IronXL macht das Lesen von Excel-Dateien einfach und unkompliziert.
  • We can load, edit, export Datatables, export datasets, and read Excel file formats such as XLSX files, XLS, CSV, TSV, XLST, XLSM files, and more with IronXL.
  • IronXL ermöglicht es uns, Dateien mit verschiedenen Erweiterungen wie XLS, CSV, TSV, JSON, XLSX und anderen zu speichern und zu exportieren.
  • Excel-Formeln können von IronXL erstellt werden.
  • Text, Zahlen, Formeln, Daten, Währung, Prozentsätze und andere Excel-Zellformate werden von IronXL unterstützt.
  • Es bietet auch zahlreiche Sortieroptionen wie Bereich, Spalten und Reihen, unter anderem.
  • Zellstyling in IronXL beinhaltet Schriftart, Größe, Hintergrundmuster, Rand und Ausrichtung, unter anderen.
  • Wir können Daten aus einer Excel-Datei lesen und exportieren, indem wir IronXL verwenden.
  • IronXL erfordert nicht, dass Excel oder Interop auf Ihrem Server installiert sind. Die IronXL-API ist schneller und einfacher zu bedienen als Microsoft Office, Interop und Excel.

1 Erstellen eines neuen Projekts in Visual Studio

Um die IronXL-Bibliothek zu verwenden, müssen wir ein .NET-Projekt in Visual Studio erstellen. Sie können jede Version von Visual Studio verwenden, aber die neueste Version wird empfohlen. Sie können eine Anwendung wie Windows Forms oder verschiedene Projekttemplates erstellen, je nach Ihren Anforderungen. Ich werde die Konsolenanwendung für dieses Tutorial verwenden, zur Einfachheit.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 1: Neuer Projekt-UI in Visual Studio erstellen Neuer Projekt-UI in Visual Studio erstellen

Geben Sie anschließend den Projektnamen und den Speicherort des Projekts ein.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 2: Konfigurationsschritt beim Erstellen eines neuen Projekts Konfigurationsschritt beim Erstellen eines neuen Projekts

Wählen Sie als nächstes das untenstehende Framework aus. In diesem Projekt werden wir .NET Core 6 verwenden.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 3: .Net Framework-Auswahl-UI .Net Framework-Auswahl-UI

Sobald die Anwendung die Lösung erstellt, wird sie die program.cs-Datei öffnen, in die Sie den Code eingeben und die Anwendung erstellen/ausführen können.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 4: Leere program.cs-Datei auf dem neuen Projekt Leere program.cs-Datei auf dem neuen Projekt

Als nächstes können wir die Bibliothek hinzufügen, um den Code zu testen.

2 Installieren der IronXL-Bibliothek

Die IronXL-Bibliothek kann auf vier Arten heruntergeladen und installiert werden.

Diese sind:

  • Verwenden von Visual Studio
  • Mit der Befehlszeile von Visual Studio.
  • Direkter Download von der NuGet-Website.
  • Direkter Download von der IronXL-Website.

2.1 Verwenden von Visual Studio

Wir können die IronXL-Bibliothek mit dem NuGet-Paket-Manager installieren. Sie müssen zuerst den NuGet-Paket-Manager öffnen und dann im Browse-Tab nach IronXL suchen. Wählen Sie IronXL aus den Suchergebnissen und installieren Sie es. Danach wird unser Projekt bereit sein, die IronXL-Bibliothek zu verwenden.

Das untere Screenshot zeigt, wie wir den NuGet-Paket-Manager in Visual Studio öffnen können.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 5: Navigieren zum NuGet-Paket-Manager in Visual Studio Navigieren Sie zum NuGet-Paketmanager in Visual Studio

IronXL in den Suchergebnissen:

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 6: Suche nach der IronXL-Bibliothek Suche nach der IronXL-Bibliothek

2.2 Verwenden der Visual Studio-Befehlszeile

Viele Menschen lieben es, eine Konsole zu verwenden, um Operationen durchzuführen. Daher können wir es auch über die Konsole installieren. Folgen Sie den untenstehenden Schritten, um IronXL über die Befehlszeile zu installieren.

  • Gehen Sie in Visual Studio zu Tools-> NuGet-Paket-Manager -> Paket-Manager-Konsole.
  • Geben Sie die folgende Zeile im Tab der Paket-Manager-Konsole ein:
Install-Package IronXL.Excel

Nun wird das Paket heruntergeladen/installiert und ist bereit zur Verwendung im aktuellen Projekt.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 7: IronXL-Paket über die Konsole installieren IronXL-Paket über die Konsole installieren

2.3 Direkter Download von der NuGet-Website

Der dritte Weg ist, das NuGet-Paket direkt von der Website herunterzuladen.

  • Navigieren Sie zur offiziellen NuGet-IronXL-Paketseite.
  • Wählen Sie die Option Download-Paket aus dem Menü auf der rechten Seite.
  • Doppelklicken Sie auf das heruntergeladene Paket. Es wird automatisch installiert.
  • Laden Sie dann die Lösung neu und beginnen Sie, es im Projekt zu verwenden.

2.4 Direkter Download von der IronXL-Website

Klicken Sie auf den Link, um das neueste Paket herunterzuladen, direkt von der Website. Nachdem es heruntergeladen wurde, folgen Sie den untenstehenden Schritten, um das Paket zum Projekt hinzuzufügen.

  • Klicken Sie mit der rechten Maustaste auf das Projekt im Lösungsfenster.
  • Wählen Sie dann die Referenzoptionen aus und durchsuchen Sie den Ort der heruntergeladenen Referenz.
  • Klicken Sie anschließend auf OK, um die Referenz hinzuzufügen.

3 Datentabellen mit IronXL in Excel-Datei exportieren

IronXL ermöglicht es uns, DataTables mit einer begrenzten Anzahl von Schritten einfach in Excel-Dateien zu exportieren.

Zuerst müssen wir den Namensraum von IronXL wie im Codeschnappschuss unten einfügen. Sobald er hinzugefügt ist, können wir die IronXL-Klassen und -Methoden in unserem Code verwenden.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 8: Namespace von IronXL einbeziehen, bevor die Bibliothek verwendet wird Namespace von IronXL einbeziehen, bevor die Bibliothek verwendet wird

IronXL ermöglicht es uns, Excel-Dateien zu erstellen und sie in Arbeitsbuchobjekte zu konvertieren. Nachdem sie in Objekte konvertiert wurden, können wir verschiedene Arten von Operationen durchführen. Im untenstehenden Beispielcode werden wir eine DataTable in ein Excel-Arbeitsblatt konvertieren, und dann können wir eine Excel-Datei erstellen.

using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
Imports System
Imports System.Data
Imports IronXL

Public Class ExcelExporter
	''' <summary>
	''' Exports a DataTable to an Excel file using IronXL.
	''' </summary>
	''' <param name="filePath">The file path where the Excel file will be saved.</param>
	Public Shared Sub ExportToExcel(ByVal filePath As String)
		' Creating a DataTable with a single column
		Dim table As New DataTable()
		table.Columns.Add("DataSet_Animal", GetType(String))

		' Adding some rows to the DataTable
		table.Rows.Add("Lion")
		table.Rows.Add("Tiger")
		table.Rows.Add("Cat")
		table.Rows.Add("Goat")
		table.Rows.Add("Panther")
		table.Rows.Add("Fox")
		table.Rows.Add("Cheetah")

		' Creating a new Excel Workbook
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)

		' Accessing the default worksheet
		Dim ws As WorkSheet = wb.DefaultWorkSheet

		' Iterating through the DataTable rows
		Dim rowCount As Integer = 1
		For Each row As DataRow In table.Rows
			' Adding each DataRow's first column value to the corresponding cell in the worksheet
			ws("A" & rowCount).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Saving the workbook to a CSV file at specified file path with ";" as delimiter
		wb.SaveAsCsv(filePath, ";")
	End Sub
End Class
$vbLabelText   $csharpLabel

Im obigen Code exportieren wir die DataTable in eine Excel-Datei. Zuerst erstellen wir eine DataTable, dann erstellen wir Spaltenüberschriften. Nach dem Erstellen der Spalten fügen wir nacheinander die Zeilen hinzu. Sobald die Zeilen hinzugefügt sind, erstellen wir das WorkBook-Objekt. Durch die Verwendung des Objekts können wir die Daten dem Excel Blatt hinzufügen und dann die Daten am Ort speichern. Wir erstellen das WorkSheet-Objekt, welches es ermöglicht, ein Arbeitsblatt zu erstellen, und dann können wir dies dem WorkBook-Objekt hinzufügen.

Wir verwenden eine foreach-Schleife, um die Werte der DataTable nacheinander zu lesen, und dann fügen wir den Wert dem Arbeitsblatt hinzu. Sobald alle Werte dem Arbeitsblatt hinzugefügt wurden, speichern wir sie in eine CSV-Datei mit der Methode SaveAsCsv — wir müssen den Delimiter und den Dateinamen mit Ort als Parameter übergeben. Ein Delimiter ist ein optionaler Parameter, den wir ignorieren können, wenn er nicht erforderlich ist.

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 9: Der fertiggestellte Code in Visual Studio Der fertiggestellte Code in Visual Studio

Oben ist der vollständige Screenshot des Codes, den wir in .NET Core 6 verwenden.

Ergebnis:

Wie man große Datenmengen von DataTable in Excel exportiert in C#, Abbildung 10: Das Ergebnis beim Öffnen der Datei in Microsoft Excel Das Ergebnis beim Öffnen der Datei in Microsoft Excel

Oben ist das Ergebnis des ausgeführten Codebeispiels. Im Screenshot wurden alle verfügbaren Daten in der DataTable nacheinander in das neu erstellte Excel-Blatt hinzugefügt.

4 Fazit

IronXL ist eine der am häufigsten verwendeten Excel-Bibliotheken. Es hängt nicht von einer anderen Drittanbieter-Bibliothek ab. Es ist unabhängig und erfordert nicht die Installation von MS Excel. Es funktioniert auf mehreren Plattformen. Der Einführungspreis für IronXL beginnt bei $799. Es bietet auch die Option einer einjährigen Gebühr für Produktsupport und Updates. IronXL bietet zu einem Aufpreis eine royaltyfreie Weitergabedeckung. Um mehr über die Preisdetails zu erfahren, besuchen Sie unsere Lizenzierungsseite.

Häufig gestellte Fragen

Wie kann ich eine DataTable in eine Excel-Datei in C# exportieren?

Sie können die WorkBook- und WorkSheet-Klassen von IronXL verwenden, um eine DataTable in eine Excel-Datei zu exportieren. Erstellen Sie eine DataTable, durchlaufen Sie ihre Zeilen und füllen Sie die Excel-Datei mit Daten mit Hilfe der IronXL-API.

Welche Vorteile hat IronXL gegenüber Interop für Excel-Operationen?

IronXL ist schneller und effizienter als Microsoft Interop, erfordert nicht die Installation von Microsoft Excel und unterstützt mehrere Plattformen und Dateiformate.

Welche Dateiformate unterstützt IronXL für Excel-Dateien?

IronXL unterstützt verschiedene Excel-Dateiformate, darunter XLSX, XLS, CSV, TSV, XLST und XLSM, was eine flexible Dateibearbeitung ermöglicht.

Kann IronXL Excel-Formeln beim Export von Daten verarbeiten?

Ja, IronXL kann Excel-Formeln verarbeiten und stellt sicher, dass komplexe Berechnungen beim Export von Daten aus einer DataTable in eine Excel-Datei erhalten bleiben.

Mit welchen Betriebssystemen ist IronXL kompatibel?

IronXL ist mit mehreren Betriebssystemen kompatibel, einschließlich Windows, Linux und macOS, was eine plattformübergreifende Entwicklung ermöglicht.

Ist es notwendig, dass Microsoft Excel installiert ist, um IronXL zu verwenden?

Nein, IronXL arbeitet unabhängig von Microsoft Excel und ermöglicht es Ihnen, mit Excel-Dateien zu arbeiten, ohne dass Excel auf Ihrem Server installiert sein muss.

Wie kann ich IronXL für ein C#-Projekt installieren?

Sie können IronXL über den NuGet-Paket-Manager in Visual Studio installieren, indem Sie die Befehlszeile verwenden oder es direkt von den NuGet- oder IronXL-Websites herunterladen.

Welche .NET-Frameworks werden von IronXL unterstützt?

IronXL unterstützt eine breite Palette von .NET-Frameworks, einschließlich Konsole, Windows Forms-Anwendung und Web-Anwendung, was es vielseitig für verschiedene Projekttypen macht.

Unterstützt IronXL die Formatierung und das Styling von Zellen in Excel-Dateien?

Ja, IronXL bietet eine Vielzahl von Zellen-Formatierungs- und Styling-Optionen, wie das Einstellen von Schriftstilen, Farben und Rahmen, um das Erscheinungsbild von Excel-Dateien zu verbessern.

Wie vereinfacht IronXL den Prozess der programmatischen Erstellung von Excel-Dateien?

IronXL vereinfacht den Prozess durch eine benutzerfreundliche API, um Excel-Dateien zu erstellen, zu bearbeiten und zu exportieren, ohne die Komplexität der Wartung von Schnittstellen und Strukturen, die von anderen Methoden erforderlich sind.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen