IRONXL VERWENDEN

Konvertieren von Excel in Datagridview in C#

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 C# in eine Datentabellenansicht konvertiert, 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.

How to Convert Excel to Datagridview in C#, Abbildung 2: Konfigurieren Sie das Projekt

Konfigurieren Sie das Projekt

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

How to Convert Excel to Datagridview in C#, Abbildung 3: .NET-Framework Auswahl

.NET-Framework-Auswahl

Nachdem Sie die Projektdateien erstellt haben, können Sie die Datei "Form1.cs" in der Designer-Ansicht öffnen, um den Programmcode einzufügen, die Benutzeroberfläche zu gestalten 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

How to Convert Excel to Datagridview in C#, Abbildung 4: Installieren Sie das IronXL-Paket in der Package Manager-Konsole

Installieren Sie das IronXL-Paket in der Paketmanager-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.

How to Convert Excel to Datagridview in C#, Abbildung 5: Suchen und installieren Sie das IronXL-Paket in NuGet Package Manager UI

Das IronXL-Paket in der NuGet Package Manager UI suchen und installieren

Für dieses Formular wird ein "DataGridView"-Steuerelement in das Formular eingefügt, um die erforderliche 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. Nachfolgend finden Sie ein Beispiel für den Import von Excel-Daten in ein "DataGridView":

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
VB   C#

Der obige Code importiert Daten aus Excel. Um den Kontext zu verdeutlichen, nehmen wir an, wir entwerfen eine Windows Forms-Anwendung mit einem DataGridView-Steuerelement und einer Schaltfläche. Ü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.

How to Convert Excel to Datagridview in C#, Abbildung 6: Öffnen eines Dialogs zur Auswahl einer Excel-Datei

Öffnen eines Dialogs zur Auswahl einer Excel-Datei

Dann wird die loadExcel" wird verwendet, um Daten aus einer 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-Daten in das IronXL-Objekt geladen sind, wird die toDataSet methode wird verwendet, um die Daten aus der Excel-Tabelle in einen Datensatz umzuwandeln. Jedes Blatt der Excel-Datei wird in eine eigene Tabelle im Datensatz umgewandelt.

Laden Sie dann die gewünschte Tabelle aus dem Datensatz in das "DataGridView". Zu diesem Zweck wird die Eigenschaft "DataSource" des DataGridView auf das neu erstellte Objekt "DataTable" von IronXL gesetzt. Dieser Schritt ermöglicht die Übertragung der Daten aus der Excel-Datei in das Datengitter (DataGridView).

How to Convert Excel to Datagridview in C#, Abbildung 7: Anzeige von Daten aus der Excel-Datei

Daten aus der Excel-Datei anzeigen

Darüber hinaus wird der Excel-Kopfzeile auch der Name der DataGridView-Kopfzeile zugewiesen. Außerdem haben wir jede zusätzliche Informationsspalte aus der "Datentabelle" entfernt, die die Excel-Spalte als Zeilendaten enthält. Dadurch wird sichergestellt, dass nur die relevanten Daten in der DataGridView angezeigt werden.

Weitere Anleitungen zur Verwendung von IronXL finden Sie unter diesem Link leitfaden.

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 Zeichenketten oder Zahlen, das Ausschneiden und Hinzufügen von Daten, das Suchen und Ersetzen von Werten durchführen, verschmelzen und Aufheben der Verschmelzung von Zellen, Speichern von Dateien und mehr. Außerdem können Sie damit Tabellenkalkulationsdaten validieren und zelldatentypen definieren. Darüber hinaus unterstützt IronXL das Lesen und schreiben von CSV-Dateien.

IronXL kann zum Preis von $749 erworben werden. 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. Ausführlichere Preisinformationen erhalten Sie auf der Website lizenzierungsseite.

< 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: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >