IRONSOFTWAREHOME
IRONXL VERWENDEN

Wie man DataGridView in C# nach Excel exportiert

Curtis Chau
Curtis Chau
Updated: 28. Juni 2026

Dieses Tutorial bietet eine umfassende Anleitung zum Exportieren von Daten aus einem DataGridView Steuerungselement in einer Windows Forms-Anwendung in eine Excel-Datei mithilfe der IronXL-Bibliothek in C#. Unser Fokus liegt darauf, ein nahtloses Erlebnis für Anfänger zu schaffen, die die Microsoft Excel-Funktionalität in ihre C#-Projekte integrieren möchten.

How to Export DataGridView to Excel in C#

  1. Erstellen Sie ein C# Windows Forms-Projekt in Visual Studio.
  2. Installieren Sie die Excel-Bibliothek mit dem NuGet-Paket-Manager.
  3. Erstellen Sie ein DataGridView und einen Button in der Windows Form-Benutzeroberfläche.
  4. Fügen Sie eine Datenquelle an das DataGridView an.
  5. Wenden Sie die Datenexportlogik im Click-Ereignishandler des Button an.

Erste Schritte mit IronXL

IronXL ist eine robuste Bibliothek, die den Umgang mit Excel-Dokumenten in .NET Framework-Anwendungen erleichtert. Sie können große Excel-Dateien exportieren, komplexe Datenquellen verarbeiten und umfangreiche Unterstützung für .NET-Excel-Datei-Manipulationen bieten, ohne die Microsoft Excel-Objektbibliothek zu benötigen. Lassen Sie uns das Projekt einrichten.

Einrichten Ihres Projekts

1. Erstellen einer neuen Windows Forms-Anwendung

Öffnen Sie Visual Studio und erstellen Sie eine neue Windows Forms-Anwendung. Dies wird die Basis für unser Projekt sein, in dem wir die Funktionalität zum Exportieren von DataGridView-Daten in eine Excel-Datei implementieren werden.

So exportieren Sie DataGridView nach Excel in C#: Abbildung 1 - Erstellen einer neuen Windows Forms-Anwendung in Visual Studio

2. Installieren Sie IronXL

IronXL kann einfach zu Ihrem Projekt hinzugefügt werden. Navigieren Sie in Visual Studio zur Option 'NuGet-Pakete verwalten', suchen Sie nach IronXL und installieren Sie es. Diese Aktion kümmert sich um alle Abhängigkeiten, die erforderlich sind, um DataGridView in C# nach Excel zu exportieren.

So exportieren Sie DataGridView nach Excel in C#: Abbildung 2 - Installation der IronXL-Bibliothek über den NuGet-Paket-Manager

3. Bereiten Sie die Benutzeroberfläche vor

Fügen Sie Ihrer Form ein DataGridView-Steuerelement hinzu. Dieses Steuerelement enthält die Daten, die wir exportieren möchten. Fügen Sie außerdem einen Button hinzu, um den Exportvorgang auszulösen. Sie können ihn als 'Export nach Excel' oder etwas Ähnliches benennen.

Implementierung der Exportfunktionalität

In diesem Abschnitt lehren wir die Einzelheiten, wie man die Funktionalität programmiert, die es Ihnen ermöglicht, Daten aus einem DataGridView in einer Windows Forms-Anwendung in ein Excel-Dokument mit IronXL zu exportieren.

Erstellen der Anwendung

Zuerst müssen Sie Ihrer Form ein DataGridView-Steuerelement hinzufügen. Dieses Steuerelement ist die primäre Komponente, in der Ihre Daten vor dem Export angezeigt werden. Sie können es einfach hinzufügen, indem Sie ein DataGridView aus dem Toolbox in Visual Studio auf Ihre Form ziehen. Wir können auch einen Button hinzufügen, um die DataGridView-Daten in Excel-Dateien zu exportieren.

So exportieren Sie DataGridView nach Excel in C#: Abbildung 3 - Hinzufügen einer Schaltfläche zum Exportieren von DataGridView-Daten in eine Excel-Datei

Der nächste Schritt besteht darin, die Daten in das DataGridView zu laden. Diese Daten könnten aus verschiedenen Quellen stammen, wie ein DataTable oder ein DataSet. Wenn Sie anfangen, möchten Sie möglicherweise ein neues DataSet oder DataTable programmatisch erstellen und mit Beispieldaten füllen, um zu sehen, wie es funktioniert. Alternativ können Sie Daten aus einer externen Quelle importieren. Der Schlüssel hier ist, Ihre Datenquelle an das DataGridView zu binden, was effektiv Ihre Daten mit dem Raster verknüpft. Sobald Ihre Daten an das DataGridView gebunden sind, werden sie im Raster Ihrer Form angezeigt.

private void BindDataToDataGridView()
{
    // Create a new DataTable.
    DataTable dataTable = new DataTable();
    // Define columns for the DataTable.
    dataTable.Columns.Add("Employee ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Department", typeof(string));
    dataTable.Columns.Add("Joining Date", typeof(DateTime));
    // Add sample data to the DataTable.
    for (int i = 1; i <= 25; i++)
    {
        dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
    }
    // Bind the DataTable to the DataGridView.
    dataGridView1.DataSource = dataTable;
}

Verwaltung des Button-Klick-Ereignisses

Unser primärer Interaktionspunkt mit dem Benutzer wird ein Button innerhalb unserer Windows Form sein. Dieser Button, wenn er geklickt wird, startet den Exportvorgang. Hier ist, wie Sie diese Interaktion einrichten:

  • In Ihrer Windows Form sollten Sie einen Button haben, der dem Export der DataGridView-Daten gewidmet ist.
  • Dieser Button hat eine Ereignishandler-Methode in Ihrem C#-Code. Diese Methode wird ausgelöst, wenn der Benutzer den Button klickt.
private void btnExport_Click(object sender, EventArgs e)
{
    // Code to export data will go here
}

Exportieren von Daten aus DataGridView

Um die DataGridView-Daten zu exportieren, müssen wir zuerst den IronXL-Namespace referenzieren:

using IronXL;

Innerhalb des Ereignishandlers ist der erste Schritt, ein neues Arbeitsbuch und ein neues Arbeitsblatt mithilfe von IronXL zu initialisieren. Hier werden unsere Daten aus dem DataGridView übertragen.

  • Ein WorkBook Objekt repräsentiert die gesamte Excel-Datei.
  • Ein WorkSheet innerhalb des Arbeitsbuchs ist wie eine einzelne Seite oder Registerkarte in einer Excel-Datei.

Hier erstellen wir ein Arbeitsbuch und fügen dann ein Arbeitsblatt hinzu. Das Arbeitsblatt wird "ExportedData" genannt, aber Sie können einen beliebigen Namen wählen, der dem Kontext Ihrer Anwendung entspricht.

WorkBook workbook = WorkBook.Create();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");

Befüllen des Excel-Blatts

Der nächste Schritt beinhaltet das Durchlaufen der Zeilen und Spalten Ihres DataGridView und das Kopieren der Daten jeder Zelle in die entsprechende Zelle im Excel-Arbeitsblatt.

  • Die äußere Schleife geht durch jede Zeile, während die innere Schleife durch jede Spalte innerhalb der jeweiligen Zeile geht.
  • Wir weisen den Wert jeder Zelle im DataGridView der entsprechenden Zelle im Excel-Arbeitsblatt zu. Dies wird mit den Indizes i (für Zeilen) und j (für Spalten) durchgeführt.
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        // Convert row and column index to Excel cell address format
        string cellAddress = ConvertToCellAddress(i, j);
        worksheet[cellAddress].Value = dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
}

Um die Zeilen- und Spaltenindizes in eine Excel-Zellenadresse zu konvertieren, können Sie eine Hilfsmethode wie diese verwenden:

private string ConvertToCellAddress(int row, int column)
{
    // Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
    // The following code converts a column index to this format.
    string columnLabel = "";
    while (column >= 0)
    {
        columnLabel = (char)('A' + column % 26) + columnLabel;
        column = column / 26 - 1;
    }
    // Rows in Excel are labeled as 1, 2, 3, ..., n
    // Adding 1 because Excel is 1-based and our loop is 0-based.
    string rowLabel = (row + 1).ToString();
    return columnLabel + rowLabel;
}

Speichern der Excel-Datei

Sobald alle Daten übertragen sind, besteht der nächste Schritt darin, dieses Arbeitsbuch als Excel-Datei zu speichern. Dieser Schritt erstellt eine Excel-Datei auf Ihrem System im angegebenen Pfad.

workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

Fehlerbehandlung

Bei jedem Datenexportprozess ist das Verwalten von Ausnahmen entscheidend, um die Stabilität der Anwendung zu gewährleisten. Die Verpackung der Exportlogik in einem Try-Catch-Block stellt sicher, dass auftretende Probleme während des Exports (wie Dateizugriffsrechte, Datenformatprobleme usw.) abgefangen und elegant behandelt werden.

try
{
    // Export logic
}
catch (Exception ex)
{
    MessageBox.Show("An exception occurred: " + ex.Message);
}

Ausgabe

Sobald wir das Programm ausführen, wird diese Schnittstelle angezeigt:

So exportieren Sie DataGridView nach Excel in C#: Abbildung 4 - Ausgabeformular des vorherigen Codes

Hier können Sie sehen, dass Daten im DataGridView angezeigt werden. Jetzt klicken Sie auf den Export-Button. Es wird die Daten aus dem DataGridView in die Excel-Datei exportieren.

So exportieren Sie DataGridView nach Excel in C#: Abbildung 5 - Erfolgreiche Exportnachricht

Hier sehen Sie, dass eine Mitteilungsbox erscheint und die Daten in die Excel-Datei exportiert werden. Hier ist die Ausgabe-Excel-Datei:

So exportieren Sie DataGridView nach Excel in C#: Abbildung 6 - Die ausgegebene Excel-Datei aus dem Export des vorherigen Formulars

Abschluss

Indem Sie diese Anleitung befolgen, haben Sie jetzt ein einfaches, aber leistungsfähiges Werkzeug, um DataGridView-Daten in eine Excel-Datei mit C# und IronXL zu exportieren. Diese Funktionalität ist für Anwendungen entscheidend, die Datenanalyse, Berichterstellung oder das einfache Übertragen von Daten zwischen verschiedenen Formaten erfordern. Denken Sie daran, dass das Experimentieren mit verschiedenen Funktionen des DataGridView-Steuerelements und der IronXL-Bibliothek zu individuelleren und fortschrittlicheren Implementierungen führen kann.

IronXL bietet eine kostenlose Testversion, mit der Sie seine Funktionen erkunden können. Das Lizenzieren beginnt bei $999, was eine lohnenswerte Investition für Fachleute und Organisationen ist, die eine zuverlässige und effiziente Lösung für die Manipulation von Excel-Dateien in .NET-Anwendungen suchen.

Ihre Reise endet hier nicht. Erforschen Sie weiterhin mehr Funktionen von IronXL und andere Möglichkeiten, um Ihre Windows Forms-Anwendungen zu verbessern. Viel Spaß beim Coden!

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.