VB .NET Odczyt i Tworzenie Plików Excel (Przykład Kodu - Samouczek)
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.
Jak odczytać plik Excel w VB.NET
- Pobierz bibliotekę VB.NET Read Excel C#
- Tworzenie plików Excel w VB.NET
- Wstawianie danych do arkusza
- Odczyt pliku Excel w VB.NET
- Dostęp do danych z arkusza
- Wykonywanie funkcji na danych
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:
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:
Możemy również zobaczyć zrzut ekranu pliku Excel Sample.xlsx:
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:
Oraz ten plik Excel Sample.xlsx:
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 APICzę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ę.






