Jak stworzyć i odczytać pliki Excel w VB.NET

VB .NET Odczyt i Tworzenie Plików Excel (Przykład Kodu - Samouczek)

This article was translated from English: Does it need improvement?
Translated
View the article in English

Programiści potrzebują płynnego i prostego podejścia do uzyskania dostępu do plików Excel w VB .NET. W tym przewodniku użyjemy IronXL do odczytywania plików Excel VB .NET i uzyskiwania dostępu do wszystkich danych do użytku w naszym projekcie. Dowiemy się, jak tworzyć arkusze kalkulacyjne we wszystkich formatach (.xls, .xlsx, .csv i .tsv), a także jak ustawiać style komórek i wstawiać dane za pomocą programowania VB.NET w Excelu.


Krok 1

1. Biblioteka Excel dla VB.NET

Pobierz bibliotekę IronXL Excel dla VB.NET za pomocą pliku DLL lub NuGet. IronXL to nasz pierwszy krok do szybkiego uzyskania dostępu do danych programu Excel w naszych projektach VB.NET i to właśnie tego narzędzia będziemy używać w tym samouczku (bezpłatne do celów programistycznych).

Install-Package IronXL.Excel

Poradnik "Jak to zrobić"

2. Tworzenie plików Excel w VB.NET

IronXL zapewnia najprostsze podejście do tworzenia pliku Excel (format .xlsx) w projekcie VB.NET. Następnie możemy wstawić dane, a także ustawić właściwości komórek, takie jak style czcionek lub obramowania.

2.1. Utwórz plik Excel

Najpierw utwórzmy skoroszyt:

' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook

Powyższy kod służy do tworzenia nowego pliku Excel. Domyślnie jego rozszerzenie to .xlsx.

2.2. Utwórz plik XLS

Jeśli chcesz utworzyć plik rozszerzenia .xls, możesz użyć tego kodu:

' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)

2.3. Utwórz arkusz roboczy

Po utworzeniu skoroszytu można utworzyć arkusz Excel w następujący sposób:

' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")

Powyższy kod utworzy nowy arkusz ws1 o nazwie Sheet1 w skoroszycie wb.

2.4. Utwórz wiele arkuszy

W ten sam sposób można utworzyć dowolną liczbę arkuszy roboczych:

' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")

3. Wstawianie danych do arkusza

3.1. Wstawianie danych do komórek

Teraz możemy łatwo wstawiać dane do komórek arkusza w następujący sposób:

' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"

Na przykład dane z arkusza ws1 można wstawić w następujący sposób:

' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"

Powyższy kod zapisze Hello World w komórce A1 arkusza ws1.

3.2. Wstawianie danych do zakresu

Możliwe jest również zapisywanie danych w wielu komórkach przy użyciu funkcji zakresu w następujący sposób:

' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"

3.3. Przykład tworzenia i edycji arkuszy

Utworzymy nowy plik Excel Sample.xlsx i wstawimy do niego dane, aby zaprezentować kod, którego nauczyliśmy się powyżej.

' 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

Uwaga: Domyślnie nowy plik Excel zostanie utworzony w folderze bin\Debug projektu. Jeśli chcemy utworzyć nowy plik w niestandardowej ścieżce, użyj:

wb.SaveAs(@"E:\IronXL\Sample.xlsx")

Oto zrzut ekranu naszego nowo utworzonego pliku Excel Sample.xlsx:

Doc5 1 related to 3.3. Przykład tworzenia i edycji arkuszy

Widać wyraźnie, jak proste może być tworzenie plików Excel przy użyciu IronXL w aplikacji VB.NET.


4. Odczyt pliku Excel w VB.NET

IronXL zapewnia również proste podejście do odczytu plików Excel (.xlsx) w projekcie VB .NET. W tym celu wystarczy pobrać dokument Excel, załadować go do swojego projektu, odczytać zawarte w nim dane i wykorzystać je zgodnie z własnymi wymaganiami.

Postępuj zgodnie z poniższymi wskazówkami:

4.1. Dostęp do pliku Excel w projekcie

WorkBook to klasa IronXL, której obiekt zapewnia pełny dostęp do pliku Excel i jego funkcji. Na przykład, jeśli chcemy uzyskać dostęp do pliku Excel, wystarczy użyć:

' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path

W powyższym kodzie funkcja WorkBook.Load() ładuje sample.xlsx do wb. W wb można wykonać dowolną funkcję, uzyskując dostęp do określonych arkuszy pliku Excel.

4.2. Arkusz roboczy dotyczący dostępu

Aby uzyskać dostęp do konkretnego arkusza w programie Excel, należy użyć klasy WorkSheet, którą można wykorzystać na następujące sposoby:

Według nazwy arkusza

' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name

Indeks arkuszy

' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index

Arkusz domyślny

' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet

Pierwsza strona

' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet

Po pobraniu arkusza Excel ws można uzyskać dowolny typ danych z odpowiedniego arkusza pliku Excel i wykonywać wszystkie funkcje programu Excel.


5. Dostęp do danych z arkusza kalkulacyjnego

Dostęp do danych można uzyskać z arkusza ExcelSheet ws w następujący sposób:

' 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. Dane z określonej kolumny

Możliwe jest również pobranie danych z wielu komórek określonej kolumny w następujący sposób:

' 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

Wyświetli wartości z komórek A2 do A10. Poniżej znajduje się przykład kodu odnoszący się do powyższej dyskusji.

' 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

Spowoduje to wyświetlenie następującego wyniku:

Doc3 Input1 related to 5.1. Dane z określonej kolumny

Możemy również zobaczyć zrzut ekranu pliku Excel Sample.xlsx:

Doc3 1 related to 5.1. Dane z określonej kolumny

6. Wykonywanie funkcji na danych

Dostęp do przefiltrowanych danych z arkusza Excel jest prosty dzięki zastosowaniu funkcji agregujących, takich jak Sum, Min lub Max, w następujący sposób:

' 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()

Więcej informacji na temat funkcji agregujących programu Excel można znaleźć tutaj.

' 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

Ten kod da nam następujący wynik:

Doc3 Output2 related to 6. Wykonywanie funkcji na danych

Oraz ten plik Excel Sample.xlsx:

Doc3 2 related to 6. Wykonywanie funkcji na danych

Więcej informacji na temat odczytywania plików Excel można znaleźć w artykułe, do którego link znajduje się poniżej.


Szybki dostęp do samouczka

Dokumentacja API

Zapoznaj się z dokumentacją API IronXL oraz prostymi sposobami pracy z programem Excel w projekcie VB.NET. Znajdź listy funkcji, klas i nie tylko.

Dokumentacja API
Documentation related to Szybki dostęp do samouczka

Często Zadawane Pytania

Jak mogę odczytywać pliki Excel w VB.NET bez użycia Interop?

Aby odczytywać pliki Excel w VB.NET bez użycia Interop, można użyć metody WorkBook.Load w IronXL do załadowania pliku. Po załadowaniu można uzyskać dostęp do danych z konkretnych arkuszy za pomocą klasy WorkSheet.

Jakie są kroki do stworzenia pliku Excel w VB.NET?

W VB.NET, aby stworzyć plik Excel używając IronXL, należy rozpocząć od utworzenia nowego obiektu WorkBook. Użyj metody CreateWorkSheet, aby dodać arkusze i wypełnić je danymi, ustawiając wartości komórek.

Czy można pracować z różnymi formatami plików Excel w VB.NET?

Tak, pracując z IronXL w VB.NET, możesz tworzyć i manipulować plikami Excel w formatach takich jak .xls, .xlsx, .csv i .tsv.

Jak mogę przeprowadzać obliczenia na danych Excel w VB.NET?

IronXL pozwala na przeprowadzanie obliczeń takich jak Sum, Min i Max bezpośrednio na zakresach komórek. Na przykład użyj ws('A1:A10').Sum(), aby obliczyć sumę wartości w tym zakresie.

Czy mogę wstawiać dane do konkretnych komórek w arkuszu Excel używając VB.NET?

Tak, używając IronXL w VB.NET, możesz wstawiać dane do konkretnych komórek, ustawiając właściwość Value komórki, jak na przykład ws1('A1').Value = 'Hello World'.

Jak mogę zapisać skoroszyt Excel w konkretnej lokalizacji w VB.NET?

Aby zapisać skoroszyt Excel w konkretnej lokalizacji używając IronXL, użyj metody SaveAs z żądaną ścieżką pliku, na przykład wb.SaveAs('E:\IronXL\Sample.xlsx').

Jak mogę pobrać bibliotekę Excel dla VB.NET?

Możesz pobrać bibliotekę Excel IronXL dla VB.NET, uruchamiając polecenie dotnet add package IronXL.Excel przez NuGet lub pobierając DLL z witryny IronXL.

Czy mogę stworzyć wiele arkuszy w jednym pliku Excel używając VB.NET?

Tak, używając IronXL w VB.NET, możesz stworzyć wiele arkuszy w jednym pliku Excel, wywołując wielokrotnie metodę CreateWorkSheet na obiekcie WorkBook.

Jak mogę uzyskać dostęp do konkretnego arkusza po nazwie lub indeksie w pliku Excel używając VB.NET?

Z IronXL w VB.NET, możesz uzyskać dostęp do arkusza po nazwie używając wb.GetWorkSheet('SheetName') lub po indeksie z wb.WorkSheets(index).

Gdzie są domyślnie zapisywane pliki Excel, kiedy są tworzone przy użyciu IronXL w VB.NET?

Domyślnie pliki Excel tworzone z IronXL w VB.NET są zapisywane w folderze 'bin\Debug' projektu, chyba że przy użyciu metody SaveAs określono inną ścieżkę.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,052,917 | Wersja: 2026.6 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXL.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.