Zum Hauptinhalt springen

Wie überträgt man Daten von Excel in eine Datatable in ASP.NET

Excel ist eines der beliebtesten Dateiformate zum Speichern und Verarbeiten von Daten. In der Webentwicklung besteht oft die Notwendigkeit, Daten aus Excel in eine Datenbank zu importieren, um weiter mit ihnen zu arbeiten. Eine Möglichkeit, dies zu tun, ist die Verwendung einer DataTable in ASP.NET .

Eine DataTable ist ein Objekt zum Speichern und Verarbeiten von Tabellendaten. Es ist eine Sammlung von Zeilen und Spalten und ermöglicht das Ausführen verschiedener Datenoperationen. Mit einer DataTable können Sie problemlos mit Daten arbeiten, Stichproben durchführen, filtern und sortieren.

Um Daten aus Excel in eine DataTable zu migrieren, müssen Sie zuerst die Daten aus einer Excel-Datei lesen und dann ein DataTable-Objekt erstellen und mit diesen Daten füllen. Sie können Bibliotheken wie NPOI oder EPPlus verwenden, um Daten aus Excel zu lesen. Diese Bibliotheken bieten praktische APIs für die Arbeit mit Excel-Dateien und ermöglichen es Ihnen, Daten aus verschiedenen Versionen von Excel-Dateien zu lesen.

Nachdem Sie die Daten aus Excel-Dateien gelesen haben, können Sie ein neues DataTable-Objekt erstellen und es mit den gelesenen Daten füllen. Dazu müssen Sie die Tabellenspalten erstellen und sie der DataTable hinzufügen. Erstellen Sie dann für jede Datenzeile aus der Excel-Datei eine neue DataTable-Zeile, füllen Sie sie mit Daten aus und fügen Sie sie der DataTable hinzu. Nachdem alle Daten migriert wurden, enthält die Datatable alle Daten aus der Excel-Datei und ist zur weiteren Verarbeitung bereit.

Schritt 1: Erstellen einer DataTable

Bevor Sie Daten aus Excel in eine DataTable übertragen können, müssen Sie die Tabelle selbst erstellen. Um dies zu tun, in ASP.NET wir verwenden die DataTable-Klasse aus dem System-Namespace.Data. Diese Klasse ist ein Objektmodell einer Tabelle, das Spalten mit bestimmten Datentypen enthalten kann.

Sie können den Konstruktor der DataTable-Klasse ohne Parameter verwenden, um eine DataTable zu erstellen:

DataTable dataTable = new DataTable();

Nachdem die Tabelle erstellt wurde, können wir mithilfe der DataColumnCollection-Methode Spalten hinzufügen.Add(). Wenn Sie beispielsweise eine Spalte mit dem Namen "Name" und dem Datentyp "Zeile" hinzufügen möchten, können Sie den folgenden Code verwenden:

dataTable.Columns.Add("Имя", typeof(string));

Nachdem Sie alle erforderlichen Spalten hinzugefügt haben, kann die DataTable mit Daten aus Excel gefüllt werden.

Anmerkung: Sie können den Datentyp einer Spalte mit der typeof() -Klasse angeben. Die folgenden Datentypen sind verfügbar: string, int, double, DateTime usw.

In diesem Schritt haben wir untersucht, wie eine DataTable mit den erforderlichen Spalten erstellt wird. Im nächsten Schritt werden wir uns ansehen, wie Sie Daten aus Excel in die erstellte DataTable migrieren.

Schritt 2: Daten aus einer Excel-Datei lesen

Um mit den Daten aus einer Excel-Datei zu arbeiten, müssen Sie die Office Open XML-Bibliothek verwenden, mit der Sie mit Excel-Dateien interagieren können. Um die Bibliothek zu installieren, müssen Sie das Install-Package DocumentFormat ausführen.OpenXML in der NuGet Package Manager Console.

Im Folgenden finden Sie Beispielcode, mit dem Sie eine Excel-Datei öffnen und die Daten daraus in ein DataTable-Objekt lesen können:

using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Spreadsheet;public DataTable ReadExcelData(string filePath)();foreach (Row row in sheetData.Elements())())>else // данные().Count(); i++)().ElementAt(i), workbookPart);>dataTable.Rows.Add(dataRow);>>>return dataTable;>private string GetCellValue(Cell cell, WorkbookPart workbookPart)else>

In diesem Beispiel wird ein DataTable-Objekt verwendet, um Daten aus einer Excel-Datei zu speichern. Wenn Sie Zeilen aus der Tabelle lesen, werden die Daten dem DataTable-Objekt hinzugefügt. Die Spaltenüberschriften stammen aus der ersten Zeile der Datei, und die Daten selbst werden ab der zweiten Zeile gelesen.

Schritt 3: Auffüllen der DataTable mit Daten aus Excel

Jetzt, da wir eine Verbindung zu einer Excel-Datei haben und Excel-Objekte erstellt haben, können wir die Daten von Excel in eine Datatable übertragen ASP.NET .

Dazu verwenden wir die "Fill" -Methode des OleDbDataAdapter-Objekts. Wir übergeben ihm den Namen des Blattes, von dem wir die Daten abrufen möchten, und das DataTable-Objekt, in das wir die Daten schreiben möchten.

Hier ist ein Beispielcode:

string sheetName = "Лист1";OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + sheetName + "$]", conn);DataTable dt = new DataTable();adapter.Fill(dt);

Im obigen Beispiel verwenden wir die SELECT-Abfragezeichenfolge, um alle Daten aus Blatt1 auszuwählen. Wir verwenden dann die Fill-Methode, um die DataTable mit Daten aus Excel zu füllen.

Jetzt haben wir eine DataTable, die Daten aus Excel enthält, und wir können sie in unserem Code verwenden ASP.NET .