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 przeglądzie użyjemy IronXL do odczytu plików Excel VB dotnet i uzyskać dostęp do wszystkich danych na potrzeby naszego projektu. Nauczymy się tworzenia arkuszy kalkulacyjnych we wszystkich formatach (.xls, .xlsx, .csv i .tsv), a także ustawiania stylów komórek i wstawiania danych przy użyciu programowania Excel VB.NET.


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 (.xlsx format) 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 dotyczy tworzenia nowego pliku Excel. Domyślnie jego rozszerzenie to .xlsx.

2.2. Utwórz plik XLS

W przypadku, gdy chcesz utworzyć plik z rozszerzeniem .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 z nazwą Sheet1 w Notesie 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 w arkuszu ws1 mogą być wstawione jako:

' 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

Stworzymy nowy plik Excel Sample.xlsx i wstawimy do niego dane, aby pokazać kod, którego się nauczyliśmy.

' 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

Jest jasne, 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 również zapewnia proste podejście do odczytu plików Excel (.xlsx) w Twoim 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. Każdy rodzaj funkcji można wykonać na wb uzyskując dostęp do konkretnych Arkuszy Pracy pliku Excel.

4.2. Arkusz roboczy dotyczący dostępu

Aby uzyskać dostęp do konkretnego arkusza w Excelu, weź klasę WorkSheet, która może być użyta w następujący różny sposób:

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 uzyskaniu arkusza Excela ws, można uzyskać dowolny rodzaj danych z odpowiadającego Arkusza Pracy pliku Excel i wykonać wszystkie funkcje Excela.


5. Dostęp do danych z arkusza kalkulacyjnego

Dane mogą być pobrane z ArkuszaExcel ws w ten 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

I możemy 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

I 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 artykule, 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 1,950,735 | Wersja: 2026.4 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.