Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Datensätze nach Excel exportiert (VB.NET): Eine vollständige Anleitung mit IronXL

Der Export eines Datensatzes nach Excel in VB.NET ermöglicht es Entwicklern, strukturierte Daten in professionelle Tabellenkalkulationsdateien umzuwandeln. Egal, ob Sie mit einem DataGrid in einer Desktop-Anwendung arbeiten oder Informationen aus einer Systemdatenbank abrufen, IronXL bietet eine intuitive API, die diesen Workflow optimiert. Es ermöglicht das Erstellen, Bearbeiten und Manipulieren von Excel-Dateien sowie den Datenexport, ohne dass eine Microsoft Office-Installation auf dem Benutzerrechner erforderlich ist.

Warum IronXL zum Datenexport?

Diese Bibliothek ist die Antwort für Entwickler, die große Datensätze effizient verarbeiten müssen. Im Gegensatz zur Standard-COM-Interoperabilität kommt es bei IronXL auch bei steigendem Datenvolumen nicht zu Verzögerungen. Im Folgenden finden Sie Details zur Einrichtung Ihres Projekts und zur Durchführung des Exports.

Starten Sie mit einer kostenlosen Testversion und entdecken Sie, wie IronXL Dataset- und DataTable-Operationen in Ihren .NET Framework-Projekten vereinfacht.

Wie exportiert man am besten einen Datensatz in VB.NET nach Excel?

Der effizienteste Weg, ein Dataset in VB.NET nach Excel zu exportieren, ist die Verwendung WorkBook und WorkSheet Klassen von IronXL. Die Bibliothek verarbeitet zwar das moderne XLSX-Format, unterstützt aber auch ältere XLS- und universelle CSV-Formate und gewährleistet so die Kompatibilität mit anderen Anwendungen.

Installieren Sie zunächst IronXL über den NuGet-Paketmanager in Visual Studio, indem Sie nach "IronXL.Excel" suchen oder Install-Package IronXL.Excel in der Paket-Manager-Konsole ausführen.

In diesem Beispiel erstellen wir eine Instanz einer Arbeitsmappe, um unsere Daten zu speichern.

Imports IronXL
Imports System.Data

' Create a new DataTable object with sample data
Dim dt As New DataTable("Employees")
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Department", GetType(String))

' Add rows to the DataTable
dt.Rows.Add(1, "John Smith", "Engineering")
dt.Rows.Add(2, "Sarah Jones", "Marketing")
dt.Rows.Add(3, "Mike Wilson", "Sales")

' Create a new workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")

' Add column headers to the first worksheet
For col As Integer = 0 To dt.Columns.Count - 1
    worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
Next

' Export data from DataTable to Excel worksheet
For row As Integer = 0 To dt.Rows.Count - 1
    For col As Integer = 0 To dt.Columns.Count - 1
        worksheet.SetCellValue(row + 1, col, dt.Rows(row)(col).ToString())
    Next
Next

' Save the Excel file
workbook.SaveAs("EmployeeData.xlsx")
Imports IronXL
Imports System.Data

' Create a new DataTable object with sample data
Dim dt As New DataTable("Employees")
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Department", GetType(String))

' Add rows to the DataTable
dt.Rows.Add(1, "John Smith", "Engineering")
dt.Rows.Add(2, "Sarah Jones", "Marketing")
dt.Rows.Add(3, "Mike Wilson", "Sales")

' Create a new workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")

' Add column headers to the first worksheet
For col As Integer = 0 To dt.Columns.Count - 1
    worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
Next

' Export data from DataTable to Excel worksheet
For row As Integer = 0 To dt.Rows.Count - 1
    For col As Integer = 0 To dt.Columns.Count - 1
        worksheet.SetCellValue(row + 1, col, dt.Rows(row)(col).ToString())
    Next
Next

' Save the Excel file
workbook.SaveAs("EmployeeData.xlsx")
VB .NET

Ausgabe

Wie exportiert man Datensätze nach Excel in VB.NET? Eine vollständige Anleitung mit IronXL: Abbildung 1 – Ausgabe beim Export einer einfachen DataTable nach Excel in VB.NET

Dieser VB-Code erstellt ein DataTable-Objekt, füllt es mit Zeilen und iteriert dann durch jede Zelle, um das Excel-Arbeitsblatt zu füllen. Die Methode SetCellValue wird hier standardmäßig verwendet, um eine präzise Datenplatzierung innerhalb des Excel-Arbeitsblatts zu gewährleisten.

Wie können DataTables in mehrere Excel-Arbeitsblätter exportiert werden?

Bei der Arbeit mit einem komplexen Dataset-Designer-Layout, das mehrere Tabellen enthält, kann jede DataTable in ein eigenes Excel-Tabellenblatt innerhalb einer einzigen Excel-Arbeitsmappe exportiert werden. Dies ist besonders nützlich, wenn Daten einem Benutzer präsentiert werden sollen, der kategorisierte Informationen in einer einzigen Datei benötigt.

Besonderheit Beschreibung
Formatunterstützung Native Unterstützung für die Dateiformate XLSX, XLS und CSV.
Skalierbarkeit Verarbeitet große Datensätze ohne Speicherspitzen.
Unabhängigkeit Keine Systemvoraussetzungen für Excel.
Imports IronXL
Imports System.Data

' Create a new Dataset with multiple tables
Dim ds As New DataSet("CompanyData")

' First DataTable - Products
Dim dtProducts As New DataTable("Products")
dtProducts.Columns.Add("ProductID", GetType(Integer))
dtProducts.Columns.Add("ProductName", GetType(String))
dtProducts.Columns.Add("Price", GetType(Decimal))
dtProducts.Rows.Add(101, "Widget A", 29.99D)
dtProducts.Rows.Add(102, "Widget B", 49.99D)
ds.Tables.Add(dtProducts)

' Second DataTable - Orders
Dim dtOrders As New DataTable("Orders")
dtOrders.Columns.Add("OrderID", GetType(Integer))
dtOrders.Columns.Add("Customer", GetType(String))
dtOrders.Columns.Add("Total", GetType(Decimal))
dtOrders.Rows.Add(1001, "Acme Corp", 599.90D)
dtOrders.Rows.Add(1002, "Tech Inc", 299.95D)
ds.Tables.Add(dtOrders)

' Create workbook and export each DataTable to separate sheets
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
For Each table As DataTable In ds.Tables
    Dim sheet As WorkSheet = workbook.CreateWorkSheet(table.TableName)
    ' Write column headers
    For col As Integer = 0 To table.Columns.Count - 1
        sheet.SetCellValue(0, col, table.Columns(col).ColumnName)
    Next
    ' Write data rows
    For row As Integer = 0 To table.Rows.Count - 1
        For col As Integer = 0 To table.Columns.Count - 1
            sheet.SetCellValue(row + 1, col, table.Rows(row)(col).ToString())
        Next
    Next
Next
workbook.SaveAs("CompanyReport.xlsx")
Imports IronXL
Imports System.Data

' Create a new Dataset with multiple tables
Dim ds As New DataSet("CompanyData")

' First DataTable - Products
Dim dtProducts As New DataTable("Products")
dtProducts.Columns.Add("ProductID", GetType(Integer))
dtProducts.Columns.Add("ProductName", GetType(String))
dtProducts.Columns.Add("Price", GetType(Decimal))
dtProducts.Rows.Add(101, "Widget A", 29.99D)
dtProducts.Rows.Add(102, "Widget B", 49.99D)
ds.Tables.Add(dtProducts)

' Second DataTable - Orders
Dim dtOrders As New DataTable("Orders")
dtOrders.Columns.Add("OrderID", GetType(Integer))
dtOrders.Columns.Add("Customer", GetType(String))
dtOrders.Columns.Add("Total", GetType(Decimal))
dtOrders.Rows.Add(1001, "Acme Corp", 599.90D)
dtOrders.Rows.Add(1002, "Tech Inc", 299.95D)
ds.Tables.Add(dtOrders)

' Create workbook and export each DataTable to separate sheets
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
For Each table As DataTable In ds.Tables
    Dim sheet As WorkSheet = workbook.CreateWorkSheet(table.TableName)
    ' Write column headers
    For col As Integer = 0 To table.Columns.Count - 1
        sheet.SetCellValue(0, col, table.Columns(col).ColumnName)
    Next
    ' Write data rows
    For row As Integer = 0 To table.Rows.Count - 1
        For col As Integer = 0 To table.Columns.Count - 1
            sheet.SetCellValue(row + 1, col, table.Rows(row)(col).ToString())
        Next
    Next
Next
workbook.SaveAs("CompanyReport.xlsx")
VB .NET

Ausgabe

! Wie man Datensätze in VB.NET nach Excel exportiert: Eine vollständige Anleitung mit IronXL: Bild 2 – Generierte Excel-Datei mit den exportierten Datensätzen als separate Arbeitsblätter

Der Code durchläuft jede Tabelle im Datensatz, erstellt ein entsprechendes Arbeitsblatt und überträgt alle Spaltenüberschriften und Daten.

Wie werden Datenbankabfrageergebnisse in Excel-Dateien exportiert?

Das Verbinden mit einer Datenbank-Datenquelle und das direkte Exportieren der Ergebnisse in eine neue Excel-Datei ist eine häufige Anforderung. Die Verwendung SqlDataAdapter mit IronXL schafft eine nahtlose Pipeline von einem SQL-System zu einer Tabellenkalkulation.

  1. Verbindung initialisieren: Richten Sie Ihre Verbindungszeichenfolge ein.
  2. Datensatz füllen: Verwenden Sie den Adapter, um Daten in Ihren DataSet-Designer zu laden.
  3. Mapping zu IronXL: Erstellen Sie eine Workbook-Instanz und durchlaufen Sie die Ergebnisse, um Excel-Dateien nach Bedarf zu bearbeiten.
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

' Define connection string and SQL query
Dim connectionString As String = "Server=localhost;Database=SalesDB;Integrated Security=True"
Dim query As String = "SELECT CustomerID, CompanyName, ContactName, Country FROM Customers"

' Create Dataset and fill from database
Dim ds As New DataSet()
Using connection As New SqlConnection(connectionString)
    Dim adapter As New SqlDataAdapter(query, connection)
    adapter.Fill(ds, "Customers")
End Using

' Access the DataTable exported from the database
Dim dt As DataTable = ds.Tables("Customers")

' Create Excel file and export the DataTable
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("CustomerData")

' Write column headers with formatting
For col As Integer = 0 To dt.Columns.Count - 1
    worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
    worksheet.Rows(0).Style.Font.Bold = True
Next

' Execute data transfer to worksheet cells
For row As Integer = 0 To dt.Rows.Count - 1
    For col As Integer = 0 To dt.Columns.Count - 1
        Dim cellValue As Object = dt.Rows(row)(col)
        worksheet.SetCellValue(row + 1, col, If(cellValue Is DBNull.Value, "", cellValue.ToString()))
    Next
Next

' Save output file
workbook.SaveAs("CustomerExport.xlsx")
Console.WriteLine("Export complete!")
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

' Define connection string and SQL query
Dim connectionString As String = "Server=localhost;Database=SalesDB;Integrated Security=True"
Dim query As String = "SELECT CustomerID, CompanyName, ContactName, Country FROM Customers"

' Create Dataset and fill from database
Dim ds As New DataSet()
Using connection As New SqlConnection(connectionString)
    Dim adapter As New SqlDataAdapter(query, connection)
    adapter.Fill(ds, "Customers")
End Using

' Access the DataTable exported from the database
Dim dt As DataTable = ds.Tables("Customers")

' Create Excel file and export the DataTable
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("CustomerData")

' Write column headers with formatting
For col As Integer = 0 To dt.Columns.Count - 1
    worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
    worksheet.Rows(0).Style.Font.Bold = True
Next

' Execute data transfer to worksheet cells
For row As Integer = 0 To dt.Rows.Count - 1
    For col As Integer = 0 To dt.Columns.Count - 1
        Dim cellValue As Object = dt.Rows(row)(col)
        worksheet.SetCellValue(row + 1, col, If(cellValue Is DBNull.Value, "", cellValue.ToString()))
    Next
Next

' Save output file
workbook.SaveAs("CustomerExport.xlsx")
Console.WriteLine("Export complete!")
VB .NET

Der SqlDataAdapter führt den Befehl aus und ruft Daten aus der SQL-Datenbank ab, die er in der Tabellensammlung des Datasets speichert. Der Code durchläuft die aus der Abfrage exportierte DataTable und behandelt Nullwerte mit einer bedingten Prüfung. Die Verwendung von Fettdruck in den Spaltenüberschriften verbessert die Lesbarkeit.

Für XML-Datenquellen unterstützt IronXL auch das Lesen und Schreiben von XML-basierten Tabellenkalkulationsformaten und bietet somit Flexibilität für verschiedene Datenaustauschszenarien.

Abschluss

Mit der übersichtlichen API von IronXL wird das Exportieren eines Datasets nach Excel in VB.NET zum Kinderspiel. Unabhängig davon, ob mit einem einzelnen DataTable-Objekt oder mehreren Tabellen gearbeitet wird, übernimmt die Bibliothek die Dateiformatkonvertierung und die Tabellenblattverwaltung in .NET Framework- und .NET Core-Projekten.

Die Beispiele zeigen, wie man Excel-Dateien aus In-Memory-Datenstrukturen und Datenbankabfragen erstellt, ohne auf Microsoft Office Interop angewiesen zu sein. Der Ansatz von IronXL eliminiert COM-Abhängigkeiten und bietet gleichzeitig Schriftartformatierung und Unterstützung für mehrere Tabellenblätter.

Sind Sie bereit, Datensätze in Excel-Exporte in Ihre VB.NET-Anwendungen zu exportieren? Erwerben Sie eine Lizenz oder sehen Sie sich weitere DataTable-Tutorials an, um Ihre Excel-Automatisierungsmöglichkeiten zu erweitern.

Häufig gestellte Fragen

Wie kann ich in VB.NET ein Dataset nach Excel exportieren?

Sie können in VB.NET mithilfe der IronXL-Bibliothek ein Dataset nach Excel exportieren. Diese Bibliothek bietet eine intuitive API zum Erstellen, Bearbeiten und Manipulieren von Excel-Dateien, ohne dass Microsoft Office erforderlich ist.

Muss ich Microsoft Office installiert haben, um IronXL zu verwenden?

Nein, IronXL benötigt keine Installation von Microsoft Office auf dem Rechner des Benutzers, um Excel-Dateien zu exportieren oder zu bearbeiten.

Welche Datentypen kann ich mit IronXL exportieren?

Mit IronXL können Sie strukturierte Daten wie DataTables und Datasets effizient in Excel-Dateien exportieren.

Kann IronXL die Erstellung und Bearbeitung von Excel-Dateien verarbeiten?

Ja, IronXL bietet Funktionen zum programmgesteuerten Erstellen, Bearbeiten und Manipulieren von Excel-Dateien in VB.NET.

Ist IronXL für Desktop-Anwendungen geeignet?

Ja, IronXL eignet sich ideal für Desktop-Anwendungen, insbesondere für solche, die DataGrids oder Systemdatenbanken zum Export von Daten nach Excel verwenden.

Welche Vorteile bietet die Verwendung von IronXL für den Export von Datensätzen?

IronXL vereinfacht den Export von Datensätzen durch eine API, die die Erstellung und Bearbeitung von Excel-Dateien ohne externe Abhängigkeiten wie Microsoft Office ermöglicht.

Kann IronXL in einer Serverumgebung eingesetzt werden?

Ja, IronXL kann in Serverumgebungen für die automatisierte Generierung von Excel-Dateien und den Datenexport eingesetzt werden.

Unterstützt IronXL große Datensätze?

IronXL wurde für die effiziente Verarbeitung großer Datensätze beim Export nach Excel entwickelt und gewährleistet dabei Leistung und Zuverlässigkeit.

Ist es möglich, bestehende Excel-Dateien mit IronXL zu bearbeiten?

Ja, IronXL ermöglicht das Öffnen und Bearbeiten bestehender Excel-Dateien und bietet Funktionen wie Datenbearbeitung und -formatierung.

Welche Programmiersprache wird für IronXL verwendet?

IronXL unterstützt VB.NET und ermöglicht es Entwicklern, Excel-Funktionen nahtlos in ihre VB.NET-Anwendungen zu integrieren.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen