VB.NET: Excel Tabelle erstellen und Excel-Dateien lesen (Tutorial)
Entwickler benötigen einen reibungslosen und einfachen Ansatz, um auf VB .NET Excel-Dateien zuzugreifen. In diesem Tutorial verwenden wir IronXL, um eine Excel Tabelle erstellen, lesen und Excel bearbeiten zu können. Wir lernen, wie man Tabellenkalkulationen in allen Formaten erstellt (.xls, .xlsx, .csv und .tsv), Zellstile festlegt und Daten mithilfe der VB .NET Excel-Programmierung einfügt.
Wie man Excel-Dateien in VB.NET liest
- Herunterladen der VB.NET Read Excel C# Library
- Excel-Dateien in VB.NET erstellen
- Daten in Arbeitsblatt einfügen
- Excel-Datei in VB.NET lesen
- Zugriff auf Daten aus Arbeitsblättern
- Funktionen auf Daten ausführen
Schritt 1
1. Excel für VB.NET Bibliothek
Hol dir die IronXL Excel für VB.NET Bibliothek per DLL-Download oder NuGet. IronXL ist unser Schritt 1, um schnell auf Excel-Daten in unseren VB.NET-Projekten zuzugreifen, und was wir für dieses Tutorial verwenden werden (kostenlos für die Entwicklung).
Install-Package IronXL.Excel
Anleitungs-Tutorial
2. Excel-Dateien in VB.NET erstellen
IronXL bietet die einfachste Möglichkeit, eine Excel-Datei (.xlsx-Format) in einem VB .NET Projekt zu erstellen. Danach können wir Daten einfügen und auch Zelleigenschaften wie Schriftstile oder Rahmen festlegen.
2.1. Excel-Datei erstellen
Lass uns zuerst ein Arbeitsbuch erstellen:
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook
Der obige Code dient zum Erstellen einer neuen Excel-Datei. Standardmäßig lautet ihre Dateiendung .xlsx.
2.2. XLS-Datei erstellen
Falls Sie eine .xls Erweiterungsdatei erstellen möchten, können Sie diesen Code verwenden:
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. Arbeitsblatt erstellen
Nach der Erstellung des Arbeitsbuchs kann ein Excel-Arbeitsblatt wie folgt erstellt werden:
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Der obige Code erstellt ein neues Arbeitsblatt ws1 mit dem Namen Sheet1 in der Arbeitsmappe wb.
2.4. Mehrere Arbeitsblätter erstellen
Beliebig viele Arbeitsblätter können auf die gleiche Weise erstellt werden:
' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
3. Daten in Arbeitsblatt einfügen
3.1. Daten in Zellen einfügen
Jetzt können wir einfach Daten in Arbeitsblattzellen wie folgt einfügen:
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"
Beispielsweise können Daten im Arbeitsblatt ws1 wie folgt eingefügt werden:
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
Der obige Code schreibt Hello World in Zelle A1 des Arbeitsblatts ws1.
3.2. Daten in Bereich einfügen
Es ist auch möglich, Daten mit der Bereichsfunktion in viele Zellen zu schreiben:
' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"
3.3. Arbeitsblätter erstellen und bearbeiten Beispiel
Wir werden eine neue Excel-Datei Sample.xlsx erstellen und einige Daten einfügen, um den oben gelernten Code zu demonstrieren.
' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub
Hinweis: Standardmäßig wird die neue Excel-Datei im Ordner bin\Debug des Projekts erstellt. Um eine neue Datei in einem benutzerdefinierten Pfad zu erstellen, verwenden wir:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
Hier ist der Screenshot unserer neu erstellten Excel-Datei Sample.xlsx:
Es ist offensichtlich, wie einfach es sein kann, Excel-Dateien mit IronXL in einer VB .NET Anwendung zu erstellen.
4. Excel-Datei in VB.NET lesen
IronXL bietet außerdem eine einfache Möglichkeit, Excel-Dateien (.xlsx) in Ihrem VB .NET Projekt zu lesen. Zu diesem Zweck einfach das Excel-Dokument abrufen, in dein Projekt laden, seine Daten lesen und nach deinen Anforderungen verwenden.
Folgen Sie diesen Schritten:
4.1. Excel-Datei im Projekt aufrufen
WorkBook ist die Klasse von IronXL , deren Objekt vollen Zugriff auf die Excel-Datei und ihre Funktionen ermöglicht. Zum Beispiel, wenn wir die Excel-Datei aufrufen möchten, verwenden wir einfach:
' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path
Im obigen Code lädt die Funktion WorkBook.Load() sample.xlsx in wb. Jede Art von Funktion kann auf wb durch Zugriff auf bestimmte Arbeitsblätter der Excel-Datei ausgeführt werden.
4.2. Spezifisches Arbeitsblatt aufrufen
Um auf ein bestimmtes Tabellenblatt in Excel zuzugreifen, verwenden Sie die Klasse WorkSheet, die auf folgende verschiedene Arten verwendet werden kann:
Nach Blattname
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name
Nach Blattindex
' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index
Standardblatt
' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet
Erstes Blatt
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet
Nachdem Sie das Excel-Arbeitsblatt ws erhalten haben, können Sie beliebige Daten aus dem entsprechenden Arbeitsblatt der Excel-Datei abrufen und alle Excel-Funktionen ausführen.
5. Daten aus Arbeitsblatt abrufen
Die Daten können auf folgende Weise aus dem Excel-Arbeitsblatt ws abgerufen werden:
' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string
5.1. Daten aus einer bestimmten Spalte
Es ist auch möglich, Daten aus vielen Zellen einer bestimmten Spalte auf folgende Weise abzurufen:
' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
Es werden die Werte der Zellen A2 bis A10 angezeigt. Ein Codebeispiel zur obigen Diskussion ist unten angegeben.
' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
Dies zeigt die folgende Ausgabe an:
Und wir können einen Screenshot der Excel-Datei Sample.xlsx sehen:
6. Funktionen auf Daten ausführen
Es ist einfach, gefilterte Daten aus einem Excel-Arbeitsblatt aufzurufen, indem Aggregatfunktionen wie Summe, Min oder Max auf folgende Weise angewendet werden:
' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Du kannst mehr über Excel-Aggregatfunktionen hier lesen.
' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
Dieser Code gibt uns diese Anzeige:
Und diese Excel-Datei Sample.xlsx:
Du kannst mehr darüber lernen, wie du Excel liest im verlinkten Artikel.
Tutorial Schnellzugriff
Greifen Sie auf die Dokumentation der API-Referenz von IronXL zu und erfahren Sie, wie Sie auf einfache Weise mit Excel in Ihrem VB.NET-Projekt arbeiten können. Finden Sie Listen von Features, Funktionen, Klassen und mehr.
Dokumentation API-ReferenzHäufig gestellte Fragen
Wie kann ich Excel-Dateien in VB.NET ohne Interop lesen?
Um Excel-Dateien in VB.NET ohne Interop zu lesen, können Sie die WorkBook.Load-Methode von IronXL verwenden, um die Datei zu laden. Nach dem Laden können Sie mit der WorkSheet-Klasse auf Daten aus bestimmten Arbeitsblättern zugreifen.
Welche Schritte sind erforderlich, um eine Excel-Datei in VB.NET zu erstellen?
In VB.NET beginnen Sie mit der Erstellung einer Excel-Datei mit IronXL, indem Sie ein neues WorkBook-Objekt instanziieren. Verwenden Sie die CreateWorkSheet-Methode, um Blätter hinzuzufügen und diese durch Festlegen von Zellwerten mit Daten zu füllen.
Ist es möglich, mit verschiedenen Dateiformaten für Excel in VB.NET zu arbeiten?
Ja, beim Arbeiten mit IronXL in VB.NET können Sie Excel-Dateien in Formaten wie .xls, .xlsx, .csv und .tsv erstellen und manipulieren.
Wie kann ich Berechnungen mit Excel-Daten in VB.NET durchführen?
IronXL ermöglicht es Ihnen, Berechnungen wie Summe, Min und Max direkt auf Zellbereichen auszuführen. Verwenden Sie zum Beispiel ws('A1:A10').Sum(), um die Summe der Werte in diesem Bereich zu berechnen.
Kann ich Daten in bestimmte Zellen eines Excel-Arbeitsblatts in VB.NET einfügen?
Ja, mit IronXL in VB.NET können Sie Daten in spezifische Zellen einfügen, indem Sie die Value-Eigenschaft einer Zelle festlegen, z. B. ws1('A1').Value = 'Hello World'.
Wie speichere ich eine Excel-Arbeitsmappe an einem bestimmten Pfad in VB.NET?
Um eine Excel-Arbeitsmappe mit IronXL an einem bestimmten Pfad zu speichern, verwenden Sie die SaveAs-Methode mit dem gewünschten Dateipfad, z.B. wb.SaveAs('E:\IronXL\Sample.xlsx').
Wie kann ich die Excel-Bibliothek für VB.NET-Entwicklung herunterladen?
Sie können die IronXL Excel-Bibliothek für VB.NET herunterladen, indem Sie den Befehl dotnet add package IronXL.Excel über NuGet ausführen oder die DLL von der IronXL-Website herunterladen.
Kann ich mehrere Arbeitsblätter in einer einzigen Excel-Datei mit VB.NET erstellen?
Ja, mit IronXL in VB.NET können Sie mehrere Arbeitsblätter innerhalb einer einzigen Excel-Datei erstellen, indem Sie die Methode CreateWorkSheet mehrfach auf einem WorkBook-Objekt aufrufen.
Wie greife ich mit VB.NET auf ein bestimmtes Arbeitsblatt nach Name oder Index in einer Excel-Datei zu?
Mit IronXL in VB.NET können Sie auf ein Arbeitsblatt nach Name mit wb.GetWorkSheet('SheetName') oder nach Index mit wb.WorkSheets(index) zugreifen.
Wo werden Excel-Dateien standardmäßig gespeichert, wenn sie mit IronXL in VB.NET erstellt werden?
Standardmäßig werden mit IronXL in VB.NET erstellte Excel-Dateien im Ordner 'bin\Debug' des Projekts gespeichert, es sei denn, ein anderer Pfad wird mit der SaveAs-Methode angegeben.






