IRONXL VERWENDEN

Importieren einer Excel-Datei in eine SQL-Datenbank in VB .NET

Veröffentlicht 27. Januar 2024
Teilen Sie:

Einführung

Zwei effektive Verwaltungs- und Analysewerkzeuge sind SQL-Datenbanken und Excel, die jeweils über spezielle Funktionen und Möglichkeiten verfügen.

Excel

Excel ist ein beliebtes Tabellenkalkulationsprogramm, das von Microsoft entwickelt wurde. Seine benutzerfreundliche Oberfläche und seine Anpassungsfähigkeit bei der Verwaltung verschiedener Datenorganisations-, Berechnungs-, Analyse- und Visualisierungsaktivitäten haben ihm einen guten Ruf eingebracht. Die Benutzer können Daten in Excel-Zellen eingeben, die in Zeilen und Spalten angeordnet sind, mathematische Operationen durchführen und Diagramme, Grafiken und Pivot-Tabellen erstellen, um Daten zusammenzufassen und zu analysieren oder Daten aus Excel zu importieren. Excel ist bei Privatpersonen, Unternehmen und Organisationen ein weit verbreitetes Werkzeug für viele Zwecke wie Finanzanalysen, Bestandsverwaltung, Berichterstattung und Budgetierung.

SQL

Strukturierte Daten werden in Datenbanken gespeichert, verwaltet und abgerufen, die SQL unterstützen (Strukturierte Abfragesprache). Ihre Grundlage ist das relationale Modell, und sie bestehen aus Tabellen mit Zeilen und Spalten. Benutzer können mit SQL-Befehlen und SQL-Datenbanken wie MySQL, PostgreSQL, SQL Server und SQLite Datenbanken erstellen, ändern und abfragen. Diese Datenbanken bieten leistungsstarke Funktionen zum Abrufen und Bearbeiten von Daten, Skalierbarkeit und Integritätssicherung.

In diesem Artikel werden wir sehen, wie VB.NET Excel-Dateien in die SQL Server-Datenbanktabelle importiert, ohne den Provider Microsoft.ACE.OLEDB.12.0.

Wie man mit VB.NET Excel-Dateien in eine SQL-Datenbank importiert

  1. Erstellen Sie ein neues Visual Studio-Projekt.

  2. Installieren Sie die erforderliche Bibliothek.

  3. Jetzt können wir eine Excel-Datei importieren und sie in eine DataTable konvertieren oder Daten abrufen.

  4. Verbinden Sie sich mit der SQL-Datenbank.

  5. Speichern Sie die importierten Daten in der Datenbanktabelle.

  6. Schließen Sie die SQL-Verbindung und entsorgen Sie das Objekt.

Was ist IronXL?

Ein leistungsstarkes .NET-Framework namens IronXL wurde entwickelt, um den Umgang mit Excel-Dateien zu erleichtern, die in C#, VB.NET, Visual Basic und anderen .NET-Sprachen geschrieben wurden. Es ist kompatibel mit den Dateiformaten XLS und XLSX. Diese Bibliothek macht es für Entwickler einfacher und schneller, Excel-Tabellen zu schreiben, zu lesen, zu bearbeiten und zu erstellen. Darüber hinaus steht eine breite Palette von Werkzeugen und Funktionen zur Verfügung.

Zu den wichtigsten Merkmalen und Fähigkeiten von IronXL gehören:

  • Datenverarbeitung: IronXL macht es einfach, Daten in Excel-Tabellen zu lesen, zu schreiben und zu manipulieren. Ein zweidimensionales Array kann zum Abrufen von Zellen verwendet werden, und es sind Berechnungen, Formeln und Datenformatierungen möglich.
  • Erstellen und Ändern von Excel-Dateien: Neben dem Erstellen neuer Excel-Dateien und dem Ändern bereits vorhandener Dateien können Entwickler auch Arbeitsblätter hinzufügen, entfernen und verwalten. Sie können auch mit vielen Excel-Komponenten arbeiten.
  • IronXL kann in einer Reihe von Anwendungsszenarien eingesetzt werden und ist dank seiner plattformübergreifenden Interoperabilität mit mehreren .NET-Plattformen, einschließlich Xamarin, .NET Core und .NET-Framework, kompatibel.
  • Vielseitigkeit und Kompatibilität: Es unterstützt sowohl das ältere XLS- als auch das modernere XLSX-Excel-Format und ist mit mehreren Excel-Versionen kompatibel.
  • Unterstützung für alte und moderne Excel-Formate: Es kann sowohl modernere XML-basierte Formate unterstützen (XLSX, das auf Excel 2007 zurückgeht) und traditionellere Excel-Dateiformate (XLS, das auf Excel 97-2003 zurückgeht).
  • Nützlichkeit: Durch die Bereitstellung einer unkomplizierten API mit leicht verständlichen Eigenschaften und Funktionen macht die Bibliothek Excel-bezogene Aktivitäten für Entwickler mit unterschiedlichem Erfahrungsgrad leichter zugänglich.
  • Datenextraktion und -export: IronXL erleichtert die Extraktion von Daten aus Excel-Dateien und den Export von Excel-Daten in verschiedene Formate, so dass die Anbindung an Datenbanken und andere Systeme einfach ist.
  • Dokumentation und Unterstützung: IronXL bietet eine Fülle von Dokumentationen, Tutorials und Support, um Entwickler bei der Verwendung der Bibliothek für Excel-bezogene Aufgaben zu unterstützen.
  • Automatisierung und Effizienz: Durch die Automatisierung von Excel-Aufgaben ermöglicht IronXL den Anwendern, produktiver zu sein, weniger Zeit für manuelle Arbeit aufzuwenden und datengesteuerte, effiziente Anwendungen zu entwickeln.
  • Integration und Anpassung: Es erleichtert die Erstellung personalisierter Berichte oder datengesteuerter Lösungen, indem es Möglichkeiten zum Export von Excel-Daten in eine Vielzahl von Formaten bietet. Es funktioniert auch gut mit Datenbanken und anderen Systemen.

    Finanzierung, Datenanalyse, Reporting, Business Intelligence und Softwareentwicklung sind nur einige der zahlreichen Bereiche, in denen IronXL zum Einsatz kommt. Es ermöglicht Entwicklern, programmatisch mit Excel-Dateien zu arbeiten und zuverlässige Lösungen zu erstellen, die Excel-Integration mit Datenmanipulation kombinieren. Klicken Sie auf hier um mehr zu erfahren.

Erstellen Sie ein neues Visual Studio-Projekt

Es ist einfach, ein Visual Studio-Konsolenprojekt zu erstellen. Um eine Konsolenanwendung in Visual Studio zu erstellen, gehen Sie folgendermaßen vor:

  1. Starten Sie Visual Studio: Öffnen Sie Visual Studio (stellen Sie sicher, dass auf Ihrem PC Visual Studio installiert ist).

Ein neues Projekt starten

Wählen Sie Datei, dann Neu, dann Projekt.

Wie importiert man eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 1 - Konsolenanwendung

Wählen Sie Ihre bevorzugte Programmiersprache, z. B. C#, aus dem linken Bereich des Feldes "Neues Projekt erstellen".

Wählen Sie dann aus der Liste der verfügbaren Projektvorlagen die "Konsolen-App " oder "Konsolen-App (.NET Core)" Vorlage.

Geben Sie Ihrem Projekt einen Namen, indem Sie den Abschnitt "Name " ausfüllen.

Wie importiert man eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 2 - Projektkonfiguration

Wählen Sie den Ort, an dem das Projekt gespeichert werden soll.

Um ein neues Konsolenanwendungsprojekt zu starten, klicken Sie auf "Erstellen ".

Wie importiert man eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 3 - Konsolenanwendung erstellen

Installation der IronXL-Bibliothek

Gehen Sie folgendermaßen vor, um die IronXL-Bibliothek zu installieren:

  1. Öffnen Sie die NuGet-Paketmanager-Konsole, indem Sie Tools > NuGet Package Manager > Paketmanager-Konsole aufrufen.

  2. Verwenden Sie den folgenden Befehl, um die IronXL-Bibliothek zu installieren:
Install-Package IronXL.Excel

Wie importiere ich eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 4 - IronXL installieren

Alternativ können Sie die IronXL-Bibliothek auch mit dem NuGet Package Manager installieren. Suchen Sie einfach nach dem Paket "IronXL" und wählen Sie aus der Liste aus, welches der NuGet-Pakete, die mit IronXL verbunden sind, Sie herunterladen möchten.

Wie importiere ich eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 5 - IronXL

IronXL zum Importieren und Hinzufügen in eine SQL-Datenbank

Diese Prozeduren können verwendet werden, um Daten aus einer Excel-Datei mit IronXL zu importieren und sie dann mit VB.NET in eine SQL-Datenbank einzufügen. Dieses Beispiel zeigt, wie IronXL eine Excel-Datei liest und die Daten in eine SQL Server-Datenbank einfügt.

Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB.NET

IronXL bietet über seine API eine bequeme Methode zum Laden von Excel-Dateien (arbeitsbuch.Laden) und Abrufen ihres Inhalts, was eine Iteration durch Zeilen und Zellen ermöglicht (die Objekte "ExcelRow" und "ExcelCell").

Das Programm liest die Daten mit IronXL aus der Excel-Datei, ruft die Zellwerte für jede Zeile ab und speichert sie in geeigneten Datenstrukturen für die spätere Verarbeitung.

Wie importiert man eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 6 - Excel-Datei

Als Nächstes stellt das Programm eine Verbindung zur SQL Server-Datenbank her, indem es eine Verbindungszeichenfolge und den Namespace System.Data.SqlClient verwendet. Anschließend werden SQL INSERT-Abfragen vorbereitet, um die Excel-Daten in die entsprechende SQL-Tabelle einzufügen. Das Programm verwendet parametrisierte SQL-Befehle (sqlCommand) um die Excel-Daten in die SQL-Datenbank einzufügen, indem die abgerufenen Zellwerte den entsprechenden SQL-Abfrageparametern zugeordnet werden und der INSERT-Befehl mit command.ExecuteNonQuery' ausgeführt wird().

Wie importiert man eine Excel-Datei in eine SQL-Datenbank in VB .NET: Abbildung 7 - SQL Server

Weitere Informationen über den Code finden Sie unter hier.

Schlussfolgerung

Die IronXL-Bibliothek, eine Excel-Objektbibliothek, ist in verschiedenen Branchen weit verbreitet, unter anderem in der Softwareentwicklung, im Finanzwesen, in der Datenanalyse und im Berichtswesen. Es ist ein unverzichtbares Werkzeug für Unternehmen und Entwickler, die ihre Arbeit mit Excel optimieren wollen. IronXL ermöglicht die Erstellung von dynamischen, datenzentrierten Anwendungen, die Excel-Dateien effizient und programmatisch verwalten.

Zusammenfassend lässt sich sagen, dass die Verwendung von IronXL in einer VB.NET-Anwendung einen nahtlosen Datentransfer von Excel-Dateien zu SQL-Datenbanken ermöglicht und damit Effizienz und Flexibilität bei der Datenverwaltung auf beiden Plattformen bietet. IronXL bietet eine kostenlose Community Edition mit Einschränkungen für die nicht-kommerzielle Nutzung. Kostenpflichtige Versionen, beginnend bei $749, können über Abonnement- oder unbefristete Lizenzierungsmodelle erworben werden und bieten zusätzliche Funktionen, Support und vollständige Funktionalität. Bitte besuchen Sie die offizielle Website von IronXL website für umfassende und aktuelle Informationen zur Lizenzierung. Weitere Informationen zu den Produkten von Iron Software finden Sie hier link.

< PREVIOUS
Konvertieren einer Excel-Datei in XML in C#
NÄCHSTES >
Importieren von CSV in Datatable in C#

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

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