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 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.
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 (.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:
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:
I możemy 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:
I ten plik Excel Sample.xlsx:
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 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ę.






