VB .NET Lesen & Erstellen von Excel-Dateien (Code-Beispiel-Tutorial)
Entwickler benötigen einen reibungslosen und einfachen Ansatz für den Zugriff auf VB .NET Excel-Dateien. In dieser Anleitung werden wir IronXL verwenden, um VB dotnet Excel-Dateien zu lesen und auf alle Daten für unser Projekt zuzugreifen. Wir werden lernen, wie man Tabellenkalkulationen in allen Formaten (.xls
, .xlsx
, .csv
und .tsv
) erstellt, sowie Zellstile festlegt und Daten mithilfe der VB.NET Excel-Programmierung einfügt.
Wie man Excel-Dateien in VB.NET liest
- VB.NET Excel C# Bibliothek herunterladen
- Excel-Dateien in VB.NET erstellen
- Daten in Arbeitsblatt einfügen
- Excel-Datei in VB.NET lesen
- Zugriff auf Daten aus WorkSheet
- Funktionen für Daten ausführen
Schritt 1
1. Excel für VB.NET Bibliothek
Holen Sie sich die IronXL Excel für VB.NET-Bibliothek über 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
Anleitung zum 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 Schriftarten oder Rahmen festlegen.
2.1. Excel-Datei erstellen
Lassen Sie uns zunächst ein WorkBook erstellen:
Dim wb As New WorkBook
Dim wb As New WorkBook
Der obige Code dient zum Erstellen 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.
Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. Arbeitsblatt erstellen
Nachdem das WorkBook erstellt wurde, kann ein Excel-Arbeitsblatt wie folgt erstellt werden:
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
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
Eine beliebige Anzahl von Arbeitsblättern kann auf die gleiche Weise erstellt werden:
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
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 ganz einfach Daten in die Zellen des Arbeitsblatts einfügen, und zwar wie folgt:
worksheet("CellAddress").Value = "MyValue"
worksheet("CellAddress").Value = "MyValue"
Beispielsweise können Daten im Arbeitsblatt ws1
eingefügt werden als:
ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
Der obige Code schreibt Hello World
in die A1
-Zelle des Arbeitsblatts ws1
.
3.2. Daten in den Bereich einfügen
Es ist auch möglich, Daten in viele Zellen zu schreiben, indem man die Bereichsfunktion wie folgt verwendet:
ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
Der obige Code wird NewValue
von der Zelle A3
bis A8
im Arbeitsblatt ws1
schreiben.
3.3. Erstellen und Bearbeiten von Arbeitsblättern Beispiel
Wir werden eine neue Excel-Datei Sample.xlsx
erstellen und einige Daten darin einfügen, um den oben gelernten Code zu präsentieren.
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
Hinweis: Standardmäßig wird die neue Excel-Datei im bin>Debug
-Ordner des Projekts erstellt. Wenn wir eine neue Datei in einem benutzerdefinierten Pfad erstellen möchten, dann:
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-dotnet-Projekt. Holen Sie sich dazu einfach das Excel-Dokument, laden Sie es in Ihr Projekt, lesen Sie die Daten und verwenden Sie es nach Ihren Wünschen.
Folgen Sie diesen Schritten:
4.1. Zugriff auf Excel-Datei im Projekt
WorkBook
ist die Klasse von IronXL, deren Objekt vollen Zugriff auf die Excel-Datei und ihre Funktionen bietet. Wenn wir zum Beispiel auf die Excel-Datei zugreifen wollen, verwenden wir einfach:
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
Im obigen Code lädt die Funktion WorkBook.Load()
die Datei sample.xlsx
in wb
. Jede Art von Funktion kann auf wb
ausgeführt werden, indem auf ein spezifisches Arbeitsblatt der Excel-Datei zugegriffen wird.
4.2. Zugriff auf spezifisches WorkSheet
Um auf ein bestimmtes Blatt in Excel zuzugreifen, verwenden Sie die WorkSheet
-Klasse, die auf folgende verschiedene Arten verwendet werden kann:
4.2.1. Nach Blatt Name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
wb
ist die Arbeitsmappe, die im obigen Abschnitt deklariert wurde.
4.2.2. Nach Blattindex
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
4.2.3. Standard-Blatt
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
4.2.4. Erstes Blatt
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
4.2.1. Erstes oder Standardblatt
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Nachdem Sie das Excel-Blatt ws
erhalten haben, können Sie jede Art von Daten aus dem entsprechenden Arbeitsblatt der Excel-Datei abrufen und alle Excel-Funktionen ausführen.
5. Zugriff auf Daten aus WorkSheet
Auf Daten kann im ExcelSheet ws
auf diese Weise zugegriffen werden:
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
5.1. Daten aus einer bestimmten Spalte
Es ist auch möglich, Daten aus vielen Zellen einer bestimmten Spalte auf die folgende Weise zu erhalten:
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
Es werden die Werte von Zelle A2
bis A10
angezeigt. Nachfolgend wird ein Codebeispiel für die gesamte Diskussion gegeben.
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
Es wird die folgende Ausgabe angezeigt:
Und wir können einen Screenshot der Excel-Datei Sample.xlsx
sehen:
6. Funktionen für Daten ausführen
Es ist einfach, auf gefilterte Daten aus einem Excel-Arbeitsblatt zuzugreifen, indem Sie Aggregatfunktionen wie Summe, Min oder Max auf folgende Weise anwenden:
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Weitere Informationen zu Excel-Aggregatfunktionen finden Sie hier.
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
Mit diesem Code erhalten wir diese Anzeige:
Und diese Excel-Datei Sample.xlsx
:
Weitere Informationen darüber, wie Sie Excel lesen können, finden Sie im verlinkten Artikel.
Tutorial Schnellzugriff
Dokumentation API-Referenz
Greifen Sie auf die Dokumentations-API-Referenz von IronXL zu und erfahren Sie die einfachen Möglichkeiten, mit Excel in Ihrem VB.NET-Projekt zu arbeiten. Finden Sie Listen von Funktionen, Klassen und mehr.
Dokumentation API-Referenz