VB .NET Lesen & Erstellen von Excel-Dateien (Code-Beispiel-Tutorial)

Chaknith Bin
Chaknith Bin
17. Juni 2020
Aktualisiert 20. Oktober 2024
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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.


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
VB.NET

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)
VB.NET

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")
VB.NET

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")
VB.NET

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"
VB.NET

Beispielsweise können Daten im Arbeitsblatt ws1 eingefügt werden als:

ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
VB.NET

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"
VB.NET

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
VB.NET

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:

Doc5 1 related to 3.3. Erstellen und Bearbeiten von Arbeitsblättern Beispiel

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
VB.NET

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
VB.NET

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
VB.NET

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: 
VB.NET

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:
VB.NET

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:
VB.NET

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
VB.NET

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
VB.NET

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
VB.NET

Es wird die folgende Ausgabe angezeigt:

Doc3 Input1 related to 5.1. Daten aus einer bestimmten Spalte

Und wir können einen Screenshot der Excel-Datei Sample.xlsx sehen:

Doc3 1 related to 5.1. Daten aus einer bestimmten Spalte

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()
VB.NET

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
VB.NET

Mit diesem Code erhalten wir diese Anzeige:

Doc3 Output2 related to 6. Funktionen für Daten ausführen

Und diese Excel-Datei Sample.xlsx:

Doc3 2 related to 6. Funktionen für Daten ausführen

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
Documentation related to Tutorial Schnellzugriff
Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.