VB .NET Lesen und Erstellen von Excel-Dateien (Codebeispiel-Tutorial)
Entwickler benötigen einen reibungslosen und einfachen Ansatz, um auf VB .NET Excel-Dateien zuzugreifen. In dieser Anleitung verwenden wir IronXL, um VB .NET Excel-Dateien zu lesen und auf alle Daten für unsere Projektverwendung zuzugreifen. Wir werden lernen, wie man Tabellenkalkulationen in allen Formaten erstellt (.xls, .xlsx, .csv und .tsv) sowie Zellstile einstellt und Daten mit 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 den einfachsten Ansatz, um 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
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook
Der obige Code dient zur Erstellung einer neuen Excel-Datei. Standardmäßig hat sie die Erweiterung .xlsx.
2.2. XLS-Datei erstellen
Falls Sie eine Datei mit der Erweiterung .xls erstellen möchten, können Sie diesen Code verwenden:
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)
' 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")
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Der obige Code wird ein neues Arbeitsblatt ws1 mit dem Namen Sheet1 im Arbeitsbuch wb erstellen.
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")
' 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"
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"
Zum Beispiel 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"
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
Der obige Code wird Hello World in die Zelle A1 des Arbeitsblattes ws1 schreiben.
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"
' 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 darin 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
' 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 bin\Debug-Ordner des Projekts erstellt. Um eine neue Datei in einem benutzerdefinierten Pfad zu erstellen, verwenden wir:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
Hier ist der Screenshot unserer neu erstellten Excel-Datei Sample.xlsx:
Es ist klar, 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 auch einen einfachen Ansatz zum Lesen von Excel (.xlsx) Dateien in Ihrem VB.NET-Projekt. 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 bietet. 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
' 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 WorkBook.Load()-Funktion sample.xlsx in wb. Jede Art von Funktion kann auf wb durchgeführt werden, indem auf spezifische Arbeitsblätter der Excel-Datei zugegriffen wird.
4.2. Spezifisches Arbeitsblatt aufrufen
Um auf ein bestimmtes Blatt in Excel zuzugreifen, verwenden Sie die WorkSheet-Klasse, die auf die folgenden verschiedenen Arten verwendet werden kann:
Nach Blattname
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name
' 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
' 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
' 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
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet
Nachdem Sie das Excel-Blatt ws erhalten haben, können Sie alle Arten von Daten aus dem entsprechenden Arbeitsblatt der Excel-Datei abrufen und alle Excel-Funktionen ausführen.
5. Daten aus Arbeitsblatt abrufen
Daten können wie folgt aus dem ExcelSheet 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
' 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
' 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 Werte von den 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
' 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()
' 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
' 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
Dokumentation API-Referenz
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.






