IRONXL VERWENDEN

Konvertieren von Excel in Datagridview in C#

Regan Pun
Regan Pun
23. Mai 2023
Aktualisiert 31. März 2024
Teilen Sie:

In diesem Blog wird verglichen und gegenübergestellt, wie man mit Microsoft Excel-Dokumenten programmatisch in .NET-Technologien interagieren kann, entweder im CSV-Format oder im Standard-Excel-Format, unter Verwendung einer der beliebtesten Bibliotheken, IronXL.

IronXL Bibliothek Merkmale

Mit der IronXL-Bibliothek in C# können Sie Microsoft Excel-Dokumente problemlos lesen und in CSV-Dateien konvertieren. IronXL ist eine eigenständige .NET-Softwarebibliothek, die verschiedene Tabellenkalkulationsformate lesen kann, ohne dass die Installation von Microsoft Excel oder die Abhängigkeit von Microsoft Office Interop Excel erforderlich ist.

IronXL ist eine der führenden Excel-Tabellenbibliotheken für C#, die sowohl mit .NET Core als auch mit .NET-Framework kompatibel ist. Es unterstützt verschiedene .NET-Frameworks, einschließlich Webanwendungen, Windows Forms-Anwendungen und Konsolenanwendungen. Das Lesen von Excel-Dateien ist mit IronXL schnell und einfach. Es unterstützt eine breite Palette von Excel-Dateiformaten, darunter XLSX, XLS, CSV, TSV, XLST, XLSM und andere. Sie können Datentabellen importieren, bearbeiten, exportieren, Datensätze exportieren und viele andere Operationen durchführen. Das Exportieren und Speichern von Dateien mit verschiedenen Erweiterungen ist ebenfalls möglich.

Mit der intuitiven C#-API von IronXL können Sie mühelos Excel-Tabellendateien in der .NET-Umgebung lesen, ändern und erstellen. Es bietet umfassende Unterstützung für .NET Core, .NET-Framework, Xamarin, Mobile, Linux, macOS und Azure.

IronXL kann Berechnungen wie Microsoft Excel durchführen und unterstützt verschiedene Spaltenformate wie Text, ganze Zahlen, Formeln, Datumsangaben, Währungen und Prozentsätze.

Um mehr zu erfahren, klicken Sie auf die IronXL-Website.

Erstellen eines neuen Projekts in Visual Studio

Bevor das IronXL-Framework verwendet werden kann, muss ein .NET-Projekt in Visual Studio erstellt werden. Jede Version von Visual Studio kann verwendet werden, es wird jedoch empfohlen, die neueste Version zu verwenden. Sie können verschiedene Projektvorlagen oder eine Windows Forms-ähnliche Anwendung erstellen, je nach Ihren Anforderungen. In diesem Lehrgang wird zur Vereinfachung die Windows Forms-Anwendung für diesen Lehrgang verwendet.

Wie man Excel in Datagridview in C# umwandelt, Abbildung 1: Erstellen Sie ein neues Projekt in Visual Studio

Erstellen Sie ein neues Projekt in Visual Studio

Nachdem Sie Ihre Projektvorlage ausgewählt haben, geben Sie den Namen und den Ort des Projekts an.

Wie man Excel in Datagridview in C# konvertiert, Abbildung 2: Projekt konfigurieren

Konfigurieren Sie das Projekt

Wählen Sie dann die folgende Struktur. Für dieses Projekt wird das .NET-Framework 4.7 verwendet.

Wie man Excel in Datagridview in C# konvertiert, Abbildung 3: .NET Framework-Auswahl

Auswahl des .NET Frameworks

Nach dem Generieren der Projektdateien können Sie die Datei Form1.cs in der Designeransicht öffnen, um den Programmcode einzufügen, die Schnittstelle zu entwerfen und das Programm zu erstellen/auszuführen. Anschließend müssen Sie die erforderliche IronXL-Bibliothek für die Lösung herunterladen. Sie können das Paket herunterladen, indem Sie den folgenden Code in der Paketverwaltung verwenden:

Install-Package IronXL.Excel

Wie man Excel in Datagridview in C# konvertiert, Abbildung 4: Installieren Sie das IronXL-Paket in der Paket-Manager-Konsole

Installieren Sie das IronXL-Paket in der Paket-Manager-Konsole

Alternativ können Sie auch den NuGet Package Manager verwenden, um nach dem IronXL"-Paket zu suchen und es herunterzuladen. Der NuGet Package Manager bietet eine bequeme Möglichkeit zur Verwaltung von Abhängigkeiten in Ihrem Projekt.

Wie man Excel in Datagridview mit C# konvertiert, Abbildung 5: Suchen und installieren Sie das IronXL-Paket im NuGet Package Manager UI

Durchsuchen und installieren Sie das IronXL-Paket in der NuGet-Paket-Manager-Benutzeroberfläche

Für dieses Formular wird ein DataGridView-Steuerelement auf dem Formular platziert, um die notwendige Excel-Datei in das DataGridView-Steuerelement zu laden.

Laden von Daten aus einer Excel-Datei

IronXL ist eine leistungsstarke Bibliothek für Excel, mit der Sie Excel-Dateien mit nur wenigen Zeilen Code lesen können. Unten ist ein Beispiel-Code-Snippet, das zeigt, wie Excel-Daten in ein DataGridView importiert werden:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ImportFilePath=string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
            DialogResult Result= openFileDialog1.ShowDialog(); 

            if (Result == DialogResult.OK)
            {
                ImportFilePath = openFileDialog1.FileName;
            }
            if(ImportFilePath!=string.Empty)
            {
                var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
                var Edataset = exceldoc.ToDataSet().Tables [0];
                for (int i = 0; i < Edataset.Columns.Count; i++)
                {
                    Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
                    //dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
                }
                dataGridView1.DataSource = Edataset;
                dataGridView1.Rows.RemoveAt(0);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ImportFilePath=string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
            DialogResult Result= openFileDialog1.ShowDialog(); 

            if (Result == DialogResult.OK)
            {
                ImportFilePath = openFileDialog1.FileName;
            }
            if(ImportFilePath!=string.Empty)
            {
                var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
                var Edataset = exceldoc.ToDataSet().Tables [0];
                for (int i = 0; i < Edataset.Columns.Count; i++)
                {
                    Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
                    //dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
                }
                dataGridView1.DataSource = Edataset;
                dataGridView1.Rows.RemoveAt(0);
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Window
Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			Dim ImportFilePath As String=String.Empty

			openFileDialog1.Filter = "Excel (*.xlsx) *.xlsx"
			Dim Result As DialogResult= openFileDialog1.ShowDialog()

			If Result = System.Windows.Forms.DialogResult.OK Then
				ImportFilePath = openFileDialog1.FileName
			End If
			If ImportFilePath<>String.Empty Then
				Dim exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath)
				Dim Edataset = exceldoc.ToDataSet().Tables (0)
				For i As Integer = 0 To Edataset.Columns.Count - 1
					Edataset.Columns (i).ColumnName = Edataset.Rows (0).ItemArray (i).ToString()
					'dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
				Next i
				dataGridView1.DataSource = Edataset
				dataGridView1.Rows.RemoveAt(0)
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Der obige Code importiert Daten aus Excel. Um mehr Kontext zu liefern, nehmen wir an, wir entwerfen eine Windows Forms-Anwendung mit einem DataGridView-Steuerelement und einem Button. Über die Schaltfläche wird ein Dialogfeld geöffnet, in dem Sie die Excel-Datei an einem bestimmten Ort suchen können. Ein benutzerdefinierter Code wird hinzugefügt, um nur eine begrenzte Anzahl von Dateien mit einer bestimmten Erweiterung zu filtern und anzuzeigen.

Wie man Excel in Datagridview in C# konvertiert, Abbildung 6: Öffnen Sie einen Dialog, um eine Excel-Datei auszuwählen

Öffnen Sie einen Dialog, um eine Excel-Datei auszuwählen

Dann wird die LoadExcel-Methode verwendet, um Daten aus der Excel-Datei zu laden. Diese Methode ermöglicht das Laden von Daten aus verschiedenen Quellen wie Dateinamen, Bytes oder Streams. Wenn die Excel-Datei passwortgeschützt ist, können wir auch das Passwort als Parameter übergeben.

Sobald die Excel-Details in das IronXL-Objekt geladen wurden, wird die Methode ToDataSet verwendet, um die Excel-Blattdaten in ein Dataset zu konvertieren. Jedes Blatt der Excel-Datei wird in eine eigene Tabelle im Datensatz umgewandelt.

Laden Sie dann die erforderliche Tabelle aus dem Datensatz in die DataGridView. Um dies zu tun, wird die DataSource-Eigenschaft des DataGridView auf das neu erstellte DataTable-Objekt von IronXL gesetzt. Dieser Schritt ermöglicht die Datenübertragung von der Excel-Datei in die DataGridView.

Wie man Excel in DatagridView in C# konvertiert, Abbildung 7: Daten aus der Excel-Datei anzeigen

Daten aus der Excel-Datei anzeigen

Zusätzlich wird auch der Excel-Headername dem DataGridView-Header zugewiesen. Außerdem haben wir jede zusätzliche Informationsspalte aus der DataTable entfernt, die die Excel-Spalte als Zeilendaten enthält. Dadurch wird sichergestellt, dass nur die relevanten Daten im DataGridView angezeigt werden.

Für weitere Tutorials zur Verwendung von IronXL klicken Sie auf diesen Anleitungsleitfaden.

Schlussfolgerung

IronXL ist ein sehr beliebtes Excel-Dienstprogramm, das nicht auf externe Bibliotheken angewiesen ist. Es handelt sich um eine unabhängige Lösung, für die keine Installation von Microsoft Excel erforderlich ist. Es ist mit verschiedenen Plattformen kompatibel.

Mit IronXL können Sie eine Vielzahl von Operationen im Zusammenhang mit Microsoft Excel-Dokumenten programmatisch durchführen. Sie können Aufgaben wie das Sortieren von Zeichenfolgen oder Zahlen, Zuschneiden und Hinzufügen von Daten, Finden und Ersetzen von Werten, Zusammenführen und Auftrennen von Zellen, Speichern von Dateien und mehr durchführen. Es ermöglicht Ihnen auch, Tabellenkalkulationsdaten zu validieren und Zellendatentypen zu definieren. Zusätzlich unterstützt IronXL das Lesen und Schreiben von CSV-Dateien.

IronXL ist für den Kauf für $749 verfügbar. Die Kunden haben auch die Möglichkeit, eine jährliche Mitgliedsgebühr für Updates und Produktsupport zu zahlen. Gegen eine zusätzliche Gebühr bietet IronXL uneingeschränkte Weiterverbreitungsrechte. Um detaillierte Preisinformationen zu erhalten, können Sie die Lizenzierungsseite besuchen.

Regan Pun
Software-Ingenieur
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 exportiert man große Daten von Datatable zu Excel in C#
NÄCHSTES >
Wie man in Blazor nach CSV exportiert

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >