Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Datensatz nach Excel exportieren 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 einen Datensatz in VB.NET nach Excel exportieren, indem Sie die IronXL-Bibliothek verwenden, die eine intuitive API zum Erstellen, Bearbeiten und Manipulieren von Excel-Dateien bietet, ohne dass Microsoft Office erforderlich ist.

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

Nein, IronXL erfordert nicht, dass Microsoft Office auf dem Rechner des Benutzers installiert ist, um Excel-Dateien zu exportieren oder zu bearbeiten.

Welche Arten von Daten kann ich mit IronXL exportieren?

IronXL ermöglicht es, strukturierte Daten wie DataTables und Datasets effizient in Excel-Dateien zu exportieren.

Kann IronXL die Erstellung und Bearbeitung von Excel-Dateien übernehmen?

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 ist ideal für Desktop-Anwendungen, insbesondere für solche, die DataGrids oder Systemdatenbanken für den Export von Daten nach Excel verwenden.

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

IronXL rationalisiert den Prozess des Exports von Datensätzen, indem es eine API anbietet, die die Erstellung und Bearbeitung von Excel-Dateien ohne externe Abhängigkeiten wie Microsoft Office ermöglicht.

Kann IronXL in einer Serverumgebung verwendet werden?

Ja, IronXL kann in Serverumgebungen für die automatische Generierung von Excel-Dateien und Datenexportaufgaben eingesetzt werden.

Unterstützt IronXL große Datensätze?

IronXL wurde entwickelt, um große Datenmengen beim Export nach Excel effizient zu verarbeiten und dabei Leistung und Zuverlässigkeit zu gewährleisten.

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

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

Welche Programmiersprache wird bei IronXL verwendet?

IronXL unterstützt VB.NET und ermöglicht es Entwicklern, Excel-Funktionalitäten 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