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. Dowiedz się, jak tworzyć arkusze kalkulacyjne we wszystkich formatach (.xls, .xlsx, .csv i .tsv), jak ustawiać style komórek i wstawiać dane, używając programowania VB.NET Excel.
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 dostarcza najprostszego podejścia 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
' 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
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)
' 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")
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Powyższy kod utworzy nowy WorkSheet ws1 o nazwie Sheet1 w WorkBook 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")
' 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"
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"
Na przykład dane w arkuszu ws1 można wstawiać jako:
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
Powyższy kod zapisze Hello World w komórce A1 z WorkSheet 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"
' 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 zaprezentować 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
' 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
Notatka: 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")
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 za pomocą IronXL w aplikacji VB.NET.
4. Odczyt pliku Excel w VB.NET
IronXL również zapewnia proste podejście do odczytywania 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
' 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 typ funkcji może być wykonywany na wb dzięki uzyskaniu dostępu do określonych WorkSheets z pliku Excel.
4.2. Arkusz roboczy dotyczący dostępu
Aby uzyskać dostęp do określonego arkusza w Excel, weź klasę WorkSheet, która może być używana na następujące różne sposoby:
Według nazwy arkusza
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name
' 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
' 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
' 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
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet
Po uzyskaniu arkusza Excel ws, możesz uzyskiwać dowolny typ danych z odpowiedniego WorkSheet z pliku Excel i wykonywać wszystkie funkcje Excel.
5. Dostęp do danych z arkusza kalkulacyjnego
Dane można uzyskać z ExcelSheet 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
' 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
' 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
Zostaną wyświetlone wartości z komórek od 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
' 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()
' 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
' 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 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ę.






