Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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.
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 dieIronXL-Website.
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.
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.
Konfigurieren Sie das Projekt
Wählen Sie dann die folgende Struktur. Für dieses Projekt wird das .NET-Framework 4.7 verwendet.
.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
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.
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.
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
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.
Öffnen eines Dialogs zur Auswahl einer Excel-Datei
Dann wird dieloadExcel" 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 dietoDataSet 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).
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 Linkleitfaden.
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 undzelldatentypen definieren. Darüber hinaus unterstützt IronXL das Lesen undschreiben 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 Websitelizenzierungsseite.
9 .NET API-Produkte für Ihre Bürodokumente