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

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 lernen, wie man Tabellenkalkulationen in allen Formaten erstellt( .xls", "xlsx", "csv" und "tsv")sowie das Einstellen von Zellstilen und das Einfügen von Daten mit VB.NET Excel-Programmierung.


Schritt 1

1. Excel für VB.NET Bibliothek

Holen Sie sich die IronXL Excel for VB.NET Bibliothek mitDLL herunterladen oderNuGet. IronXL ist unser Schritt 1 zum schnellen Zugriff auf Excel-Daten in unseren VB.NET-Projekten, und was wir für dieses Tutorial verwenden werden(frei für Entwicklung).

Install-Package IronXL.Excel

Anleitung zum Tutorial

2. Excel-Dateien in VB.NET erstellen

IronXL bietet den einfachsten Ansatz zur Erstellung eines Excel(.xlsx"-Format) datei in einem VB.NET-Projekt. 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 zur Erstellung einer neuen Excel-Datei. Standardmäßig hat sie die Erweiterung .xlsx.

2.2. XLS-Datei erstellen

Wenn 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 erstellt ein neues Arbeitsblatt ws1 mit dem Namen sheet1 im Arbeitsbuch wb.

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

Zum Beispiel können Daten im Arbeitsblatt "ws1" wie folgt eingefügt werden:

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

Der obige Code schreibt Hallo World in die Zelle A1 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 schreibt NewValue von Zelle A3 nach A8 in Arbeitsblatt ws1.

3.3. Erstellen und Bearbeiten von Arbeitsblättern Beispiel

Wir erstellen eine neue Excel-Datei "Beispiel.xlsx" und fügen darin einige Daten ein, um den oben gelernten Code zu veranschaulichen.

/**
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 eine neue Excel-Datei im Ordner bin>Debug des Projekts erstellt, wenn wir eine neue Datei in einem benutzerdefinierten Pfad erstellen möchten: ` wb.SaveAs(@"E:\IronXL\Sample.xlsx")

Hier sehen Sie einen Screenshot der neu erstellten Excel-Datei "sample.xlsx":

Es wird deutlich, 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 wird `WorkBook.Load()funktion "Probe.xlsx" in "WB" laden. Jede Art von Funktion kann auf "wb" ausgeführt werden, indem auf ein bestimmtes Arbeitsblatt der Excel-Datei zugegriffen wird.

4.2. Zugriff auf spezifisches WorkSheet

Um auf ein bestimmtes Blatt in Excel zuzugreifen, nehmen Sie die Klasse WorkSheet, die auf die folgenden verschiedenen 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 das im obigen Abschnitt angegebene WorkBook.

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 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 diese Weise kann auf Daten aus dem ExcelSheet ws 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:

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

Sie können mehr lesen überExcel-Aggregatfunktionen 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:

Und diese Excel-Datei Sample.xlsx:

Sie können mehr darüber erfahren, wie Sieexcel lesen in dem 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-Referenz