# C# Odczyt pliku XLSX
Aby czytać pliki XLSX w C#, użyj metody `WorkBook.Load` w IronXL, aby otworzyć plik Excel i uzyskać dostęp do arkuszy kalkulacyjnych w celu odczytu danych komórek, wykonywania obliczeń i konwersji do formatu `DataTable` lub `DataSet` programistycznie.
*as-heading:2(Szybki start: Załaduj skoroszyt i uzyskaj dostęp do arkusza roboczego bez wysiłku)*
Dzięki IronXL możesz załadować plik XLSX używając metody `WorkBook.Load` w jednej linii. Następnie uzyskaj natychmiastowy dostęp do jego pierwszego lub nazwanego arkusza i rozpocznij czytanie wartości komórek.
```cs
:title=Start Reading XLSX in One Line — IronXL
IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
```
<div class="learnn-how-section">
<div class="row">
<div class="col-sm-6">
<h2>Odczyt plików .XLSX C#</h2>
<ul class="list-unstyled">
<li>Pobierz IronXL dla swojego projektu</li>
<li>Załaduj <code>WorkBook</code></li>
<li>Uzyskaj dostęp do danych z <code>WorkSheet</code></li>
<li>Zastosuj funkcje takie jak Sum, Min i Max</li>
<li>Odczytaj <code>WorkSheet</code> jako DataTable, DataSet i inne</li>
</ul>
</div>
<div class="col-sm-6">
<div class="download-card">
<img style="box-shadow: none; width: 308px; height: 320px;" src="/img/faq/excel/how-to-work.svg" class="img-responsive learn-how-to-img replaceable-img" />
</div>
</div>
</div>
</div>
<hr class="separator" />
## Jak uzyskać IronXL dla mojego projektu?
Użyj IronXL w swoim projekcie jako prostego sposobu pracy z formatami plików Excel w C#. Można albo [zainstalować IronXL przez bezpośrednie pobranie](/csharp/excel/packages/IronXL.zip), albo można użyć [NuGet Install for Visual Studio](https://www.nuget.org/packages/IronXL.Excel). Oprogramowanie jest darmowe do celów rozwojowych.
```shell
:ProductInstall
```
Przed przystąpieniem do odczytu plików XLSX, zapoznaj się z [obszerną dokumentacją IronXL](https://ironsoftware.com/csharp/excel/docs/) w celu zrozumienia wszystkich dostępnych funkcji. IronXL obsługuje zarówno formaty .xls, jak i .xlsx, co czyni go wszechstronnym dla plików Excel starszych i nowoczesnych.
<hr class="separator" />
#### Poradnik "Jak to zrobić"
## Jak załadować WorkBook?
`WorkBook` to klasa IronXL, której obiekt zapewnia pełny dostęp do pliku Excel i wszystkich jego funkcji. Na przykład, aby uzyskać dostęp do pliku Excel, użyj kodu:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
```
### Dlaczego używać metody `WorkBook.Load()`?
W powyższym kodzie funkcja `Load()` załadowuje `WorkBook` do `WorkBook`. Każdy rodzaj funkcji może być wykonywany na `WorkBook` uzyskując dostęp do określonego `WorkSheet` pliku Excel. Metoda `Load()` automatycznie wykrywa format pliku, czy to XLS, XLSX, XLSM, XLTX czy CSV. Dla bardziej zaawansowanych scenariuszy ładowania, zapoznaj się z szczegółowym przewodnikiem po [ładowaniu arkuszy kalkulacyjnych](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/).
<hr class="separator" />
## Jak uzyskać dostęp do określonego WorkSheet?
Aby uzyskać dostęp do określonego `WorkSheet` pliku Excel, IronXL oferuje klasę `WorkBook`. Można go stosować na kilka różnych sposobów:
### Jakie są różne sposoby uzyskania dostępu do arkusza roboczego?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
```
`WorkBook["SheetName"]` to `WorkSheet` zadeklarowana w powyższej części.
LUB
`WorkBook`
LUB
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
```
LUB
`WorkBook.Load()`
LUB
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
```
LUB
`sample.xlsx`
LUB
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
```
LUB
`workBook`
LUB
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
```
LUB
`workBook`
LUB
`WorkBook.Load`
LUB
`WorkSheet`
LUB
`WorkSheet`
LUB
`workBook`
LUB
`WorkBook`
### Kiedy powinienem używać każdej metody dostępu do arkusza roboczego?
Każda metoda ma idealny przypadek użycia:
- **`GetWorkSheet("name")`**: Kiedy znasz dokładną nazwę arkusza
- **`WorkSheets[index]`**: Dla iteracji programistycznej przez arkusze
- **`DefaultWorkSheet`**: Szybki dostęp przy pracy z plikami jednokartkowymi
- **`First()` lub `FirstOrDefault()`**: Bezpieczne opcje, gdy nazwy arkuszy mogą się zmienić
Po uzyskaniu `ExcelSheet` `workSheet`, możesz uzyskać dowolny rodzaj danych z niego i wykonać wszystkie funkcje Excel na nim. Więcej złożonych operacji na arkuszach roboczych znajdziesz w przewodniku na temat [otwierania arkuszy Excel w C#](https://ironsoftware.com/csharp/excel/how-to/c-sharp-open-excel-worksheet/).
<hr class="separator" />
## Jak uzyskiwać dostęp do danych z WorkSheet?
Dane można uzyskać z `ExcelSheet` `workSheet` w tym procesie:
### Jakie typy danych mogę odczytać z komórek?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
```
IronXL zapewnia różne akcesory wartości dla różnych typów danych:
- **`StringValue`**: Dla danych tekstowych
- **`Int32Value`**: Dla liczb całkowitych
- **`DoubleValue`**: Dla liczb dziesiętnych
- **`DateTimeValue`**: For dates
- **`BoolValue`**: Dla wartości true/false
### Jak odczytywać wiele komórek naraz?
Możesz również uzyskać dane z wielu komórek określonej kolumny:
```csharp
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
```
To wyświetla wartości od komórki `A2` do `A10`. Dla bardziej zaawansowanych technik wyboru zakresu, odwiedź [samouczek wyboru zakresu](https://ironsoftware.com/csharp/excel/how-to/select-range/).
### Jak wygląda pełna implementacja?
Pełny przykład kodu dla powyższych specyfik następuje tutaj:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
```
Pokazuje następujący wynik:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" alt="Wynik konsoli pokazujący wyodrębnione dane z arkusza roboczego z wartościami Rządowe, Prywatne, Średni rynek i Partnerzy kanałowi" class="img-responsive add-shadow" /></a>
</div>
</center>
Z plikiem Excel `Sample.xlsx`:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" alt="Arkusz kalkulacyjny Excel z danymi biznesowymi pokazujący kolumny Segment, Kraj, Produkt i Pasmo zniżek na 16 rzędach" class="img-responsive add-shadow" /></a>
</div>
</center>
Te metody pokazują, jak bezwysiłkowo można używać danych z pliku Excel w projekcie. Dla praktycznych przykładów odczytu plików Excel bez Interop, zapoznaj się z [przykładami odczytu Excela](https://ironsoftware.com/csharp/excel/examples/read-excel/).
<hr class="separator" />
## Jak mogę wykonywać funkcje na danych?
Uzyskaj dostęp do przefiltrowanych danych z `WorkSheet` Excel, stosując funkcje agregujące takie jak `Sum`, `Min` lub `Max` przy użyciu poniższego kodu:
### Jakie funkcje agregacyjne są dostępne?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
```
IronXL wspiera liczne funkcje matematyczne w tym:
- **`Average()`**: Oblicz średnią wartość
- **`Count()`**: Zlicz niepuste komórki
- **`CountIf()`**: Zlicz komórki spełniające kryteria
- **`Median()`**: Znajdź wartość środkową
- **`StdDev()`**: Oblicz odchylenie standardowe
### Jak wdrożyć wiele funkcji razem?
Dla większej ilości szczegółów, sprawdź nasz dogłębny samouczek na temat Jak [Zapisać pliki Excel w C#](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/#advanced-operations-sum-avg-count-etc) ze szczegółami dotyczącymi funkcji agregacyjnych. Możesz również zapoznać się z pełną listą [funkcji matematycznych dostępnych w IronXL](https://ironsoftware.com/csharp/excel/how-to/math-functions/).
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
```
Ten kod wyświetla następujący wynik:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" alt="Terminal pokazujący wyniki analizy danych: Suma=482, Min=12, Max=350 na czarnym tle" class="img-responsive add-shadow" /></a>
</div>
</center>
I tak wygląda plik Excel `Sample.xlsx`:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" alt="Arkusz kalkulacyjny Excel z danymi sprzedażowymi pokazujący segmenty, kraje, produkty, sprzedane jednostki i ceny na wielu rzędach" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## Jak odczytywać WorkSheet Excel jako DataTable?
Używając IronXL, łatwo jest pracować z `WorkSheet` Excel jako `DataTable`. Ta funkcja jest szczególnie użyteczna, gdy trzeba zintegrować dane z Excela z istniejącymi systemami przetwarzania danych lub związać dane z kontrolkami interfejsu użytkownika.
### Jaka jest podstawowa metoda konwersji?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
```
### Jak użyć pierwszego wiersza jako nagłówków kolumn?
Aby użyć pierwszego wiersza `ExcelSheet` jako `DataTable` `ColumnName`:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
```
Parametr typu Boolean metody `ToDataTable()` ustawia pierwszy wiersz jako nazwy kolumn dla twojej `DataTable`. Domyślnie jego wartość to `False`. Jest to szczególnie przydatne, gdy pracuje się z danymi uporządkowanymi, które zawierają nagłówki.
### Jak przeprowadzić iterację przez DataTable?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
```
Korzystając z powyższego kodu, każda wartość komórki `WorkSheet` może być dostępna i użyta w miarę potrzeb. Dla bardziej zaawansowanych operacji `DataTable`, zobacz przewodnik dotyczący [importowania i eksportowania jako DataSet](https://ironsoftware.com/csharp/excel/how-to/export-dataset-datatable/).
<hr class="separator" />
## Jak odczytywać plik Excel jako DataSet?
IronXL zapewnia prostą funkcję używania kompletnego pliku Excel (`WorkBook`) jako `DataSet`. Użyj metody `ToDataSet`, aby zamienić cały skoroszyt na `DataSet`.
W tym przykładzie zobaczymy, jak używać pliku Excel jako `DataSet`.
### Jak przekonwertować workbook na DataSet?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
```
Wynik powyższego kodu wygląda tak:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" alt="Uszkodzony lub niekompletny zrzut ekranu pokazujący tylko etykiety Sheet1, Sheet2, Sheet3" class="img-responsive add-shadow" /></a>
</div>
</center>
I tak wygląda plik Excel `Sample.xlsx`:
(center content omitted for brevity)
### Jak uzyskać dostęp do każdej wartości komórki we wszystkich arkuszach?
W powyższym przykładzie możemy łatwo parsować plik Excel na `DataSet` i pracować z każdym `DataTable` pliku Excel jako `DataTable`. Zapoznaj się głębiej z tym jak [analizować Excel jako DataSet](https://ironsoftware.com/csharp/excel/#excel-sql-dataset) tutaj, zawierając przykłady kodu.
Przyjrzyjmy się jeszcze jednemu przykładowi, jak uzyskać dostęp do wartości każdej komórki wszystkich `ExcelSheets`. Tutaj możemy uzyskać dostęp do wartości każdej komórki każdego `ExcelSheet` pliku Excel.
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
```
Używając powyższego przykładu, można wygodnie uzyskać dostęp do wartości każdej komórki każdego `ExcelSheet` pliku Excel. To podejście jest szczególnie użyteczne przy pracy z książkami wieloarkuszowymi, gdzie dane są rozproszone na różnych kartach.
Więcej na temat tego, jak [czytać pliki Excel bez Interop](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/) znajdziesz tutaj. Dokumentacja API referencyjnego dostarcza szczegółowe informacje o wszystkich dostępnych metodach i właściwościach w [IronXL API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/).
<hr class="separator" />
#### Szybki dostęp do samouczka
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Referencja API dla IronXL</h3>
<p>Przeczytaj więcej o funkcjach, klasach, polach metod, przestrzeniach nazw i wyliczeniach IronXL w dokumentacji.</p>
<a class="doc-link" href="/csharp/excel/object-reference/api/" target="_blank"> Referencja API dla IronXL <i class="fa fa-chevron-right"></i></a>
</div>
<div class="col-sm-4">
<div class="tutorial-image">
<img style="max-width: 110px; width: 100px; height: 140px;" alt="" class="img-responsive add-shadow" src="/img/svgs/documentation.svg" width="100" height="140" />
</div>
</div>
</div>
</div>
`WorkSheet`
`WorkSheet`
`WorkSheet`
Aby czytać pliki XLSX w C#, użyj metody WorkBook.Load w IronXL, aby otworzyć plik Excel i uzyskać dostęp do arkuszy kalkulacyjnych w celu odczytu danych komórek, wykonywania obliczeń i konwersji do formatu DataTable lub DataSet programistycznie.
Szybki start: Załaduj skoroszyt i uzyskaj dostęp do arkusza roboczego bez wysiłku
Dzięki IronXL możesz załadować plik XLSX używając metody WorkBook.Load w jednej linii. Następnie uzyskaj natychmiastowy dostęp do jego pierwszego lub nazwanego arkusza i rozpocznij czytanie wartości komórek.
Przed przystąpieniem do odczytu plików XLSX, zapoznaj się z obszerną dokumentacją IronXL w celu zrozumienia wszystkich dostępnych funkcji. IronXL obsługuje zarówno formaty .xls, jak i .xlsx, co czyni go wszechstronnym dla plików Excel starszych i nowoczesnych.
Poradnik "Jak to zrobić"
Jak załadować WorkBook?
WorkBook to klasa IronXL, której obiekt zapewnia pełny dostęp do pliku Excel i wszystkich jego funkcji. Na przykład, aby uzyskać dostęp do pliku Excel, użyj kodu:
using IronXL;// Load the workbookWorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
using IronXL;
// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
Imports IronXL
' Load the workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path
Dlaczego używać metody WorkBook.Load()?
W powyższym kodzie funkcja Load() załadowuje WorkBook do WorkBook. Każdy rodzaj funkcji może być wykonywany na WorkBook uzyskując dostęp do określonego WorkSheet pliku Excel. Metoda Load() automatycznie wykrywa format pliku, czy to XLS, XLSX, XLSM, XLTX czy CSV. Dla bardziej zaawansowanych scenariuszy ładowania, zapoznaj się z szczegółowym przewodnikiem po ładowaniu arkuszy kalkulacyjnych.
Jak uzyskać dostęp do określonego WorkSheet?
Aby uzyskać dostęp do określonego WorkSheet pliku Excel, IronXL oferuje klasę WorkBook. Można go stosować na kilka różnych sposobów:
Jakie są różne sposoby uzyskania dostępu do arkusza roboczego?
using IronXL;// Access sheet by nameWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
using IronXL;
// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
ImportsIronXL' Access sheet by nameDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")
Imports IronXL
' Access sheet by name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
WorkBook["SheetName"] to WorkSheet zadeklarowana w powyższej części.
LUB
WorkBook
LUB
using IronXL;// Access sheet by indexWorkSheet workSheet = workBook.WorkSheets[0];
using IronXL;
// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
ImportsIronXL' Access sheet by indexDim workSheet AsWorkSheet = workBook.WorkSheets(0)
Imports IronXL
' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
LUB
WorkBook.Load()
LUB
using IronXL;// Access the default worksheetWorkSheet workSheet = workBook.DefaultWorkSheet;
using IronXL;
// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
ImportsIronXL' Access the default worksheetDim workSheet AsWorkSheet = workBook.DefaultWorkSheet
Imports IronXL
' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
LUB
sample.xlsx
LUB
using IronXL;using System.Linq;// Access the first worksheetWorkSheet workSheet = workBook.WorkSheets.First();
using IronXL;
using System.Linq;
// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
ImportsIronXLImportsSystem.Linq' Access the first worksheetDim workSheet AsWorkSheet = workBook.WorkSheets.First()
Imports IronXL
Imports System.Linq
' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
LUB
workBook
LUB
using IronXL;using System.Linq;// Access the first or default worksheetWorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
using IronXL;
using System.Linq;
// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
ImportsIronXLImportsSystem.Linq' Access the first or default worksheetDim workSheet AsWorkSheet = workBook.WorkSheets.FirstOrDefault()
Imports IronXL
Imports System.Linq
' Access the first or default worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault()
LUB
workBook
LUB
WorkBook.Load
LUB
WorkSheet
LUB
WorkSheet
LUB
workBook
LUB
WorkBook
Kiedy powinienem używać każdej metody dostępu do arkusza roboczego?
Każda metoda ma idealny przypadek użycia:
GetWorkSheet("name"): Kiedy znasz dokładną nazwę arkusza
WorkSheets[index]: Dla iteracji programistycznej przez arkusze
DefaultWorkSheet: Szybki dostęp przy pracy z plikami jednokartkowymi
First() lub FirstOrDefault(): Bezpieczne opcje, gdy nazwy arkuszy mogą się zmienić
Po uzyskaniu ExcelSheetworkSheet, możesz uzyskać dowolny rodzaj danych z niego i wykonać wszystkie funkcje Excel na nim. Więcej złożonych operacji na arkuszach roboczych znajdziesz w przewodniku na temat otwierania arkuszy Excel w C#.
Jak uzyskiwać dostęp do danych z WorkSheet?
Dane można uzyskać z ExcelSheetworkSheet w tym procesie:
Jakie typy danych mogę odczytać z komórek?
using IronXL;// Accessing data as a stringstring dataString = workSheet["A1"].ToString();// Accessing data as an integerint dataInt = workSheet["B1"].Int32Value;
using IronXL;
// Accessing data as a string
string dataString = workSheet["A1"].ToString();
// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
ImportsIronXL' Accessing data as a stringDim dataString AsString = workSheet("A1").ToString()' Accessing data as an integerDim dataInt AsInteger = workSheet("B1").Int32Value
Imports IronXL
' Accessing data as a string
Dim dataString As String = workSheet("A1").ToString()
' Accessing data as an integer
Dim dataInt As Integer = workSheet("B1").Int32Value
IronXL zapewnia różne akcesory wartości dla różnych typów danych:
StringValue: Dla danych tekstowych
Int32Value: Dla liczb całkowitych
DoubleValue: Dla liczb dziesiętnych
DateTimeValue: For dates
BoolValue: Dla wartości true/false
Jak odczytywać wiele komórek naraz?
Możesz również uzyskać dane z wielu komórek określonej kolumny:
foreach (var cell in workSheet["A2:A10"]){Console.WriteLine("Value is: {0}", cell.Text);}
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
For Each cell In workSheet("A2:A10")Console.WriteLine("Value is: {0}", cell.Text)Next cell
For Each cell In workSheet("A2:A10")
Console.WriteLine("Value is: {0}", cell.Text)
Next cell
To wyświetla wartości od komórki A2 do A10. Dla bardziej zaawansowanych technik wyboru zakresu, odwiedź samouczek wyboru zakresu.
Jak wygląda pełna implementacja?
Pełny przykład kodu dla powyższych specyfik następuje tutaj:
using IronXL;using System;// Load an Excel fileWorkBook workBook = WorkBook.Load("sample.xlsx");WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Specify the rangeforeach (var cell in workSheet["B2:B10"]){Console.WriteLine("Value is: {0}", cell.Text);}
using IronXL;
using System;
// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
ImportsIronXLImportsSystem' Load an Excel fileDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")Dim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Specify the rangeFor Each cell In workSheet("B2:B10")Console.WriteLine("Value is: {0}", cell.Text)Next
Imports IronXL
Imports System
' Load an Excel file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Specify the range
For Each cell In workSheet("B2:B10")
Console.WriteLine("Value is: {0}", cell.Text)
Next
Pokazuje następujący wynik:
Z plikiem Excel Sample.xlsx:
Te metody pokazują, jak bezwysiłkowo można używać danych z pliku Excel w projekcie. Dla praktycznych przykładów odczytu plików Excel bez Interop, zapoznaj się z przykładami odczytu Excela.
Jak mogę wykonywać funkcje na danych?
Uzyskaj dostęp do przefiltrowanych danych z WorkSheet Excel, stosując funkcje agregujące takie jak Sum, Min lub Max przy użyciu poniższego kodu:
Jakie funkcje agregacyjne są dostępne?
using IronXL;// Apply aggregate functionsdecimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
using IronXL;
// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
ImportsIronXL' Apply aggregate functionsDim sum AsDecimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10Dim min AsDecimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10Dim max AsDecimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10
Imports IronXL
' Apply aggregate functions
Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10
Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10
Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Calculate sum, minimum, and maximum for a range of cellsdecimal sum = workSheet["G2:G10"].Sum();decimal min = workSheet["G2:G10"].Min();decimal max = workSheet["G2:G10"].Max();// Output resultsConsole.WriteLine("Sum is: {0}", sum);Console.WriteLine("Min is: {0}", min);Console.WriteLine("Max is: {0}", max);
using IronXL;
using System;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();
// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
ImportsIronXLImportsSystem' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Calculate sum, minimum, and maximum for a range of cellsDim sum AsDecimal = workSheet("G2:G10").Sum()Dim min AsDecimal = workSheet("G2:G10").Min()Dim max AsDecimal = workSheet("G2:G10").Max()' Output resultsConsole.WriteLine("Sum is: {0}", sum)Console.WriteLine("Min is: {0}", min)Console.WriteLine("Max is: {0}", max)
Imports IronXL
Imports System
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Calculate sum, minimum, and maximum for a range of cells
Dim sum As Decimal = workSheet("G2:G10").Sum()
Dim min As Decimal = workSheet("G2:G10").Min()
Dim max As Decimal = workSheet("G2:G10").Max()
' Output results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Ten kod wyświetla następujący wynik:
I tak wygląda plik Excel Sample.xlsx:
Jak odczytywać WorkSheet Excel jako DataTable?
Używając IronXL, łatwo jest pracować z WorkSheet Excel jako DataTable. Ta funkcja jest szczególnie użyteczna, gdy trzeba zintegrować dane z Excela z istniejącymi systemami przetwarzania danych lub związać dane z kontrolkami interfejsu użytkownika.
Jaka jest podstawowa metoda konwersji?
using IronXL;using System.Data;// Convert worksheet to DataTableDataTable dt = workSheet.ToDataTable();
using IronXL;
using System.Data;
// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTableDim dt AsDataTable = workSheet.ToDataTable()
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable()
Jak użyć pierwszego wiersza jako nagłówków kolumn?
Aby użyć pierwszego wiersza ExcelSheet jako DataTableColumnName:
using IronXL;using System.Data;// Convert worksheet to DataTable with the first row as column namesDataTable dt = workSheet.ToDataTable(true);
using IronXL;
using System.Data;
// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTable with the first row as column namesDim dt AsDataTable = workSheet.ToDataTable(True)
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable with the first row as column names
Dim dt As DataTable = workSheet.ToDataTable(True)
Parametr typu Boolean metody ToDataTable() ustawia pierwszy wiersz jako nazwy kolumn dla twojej DataTable. Domyślnie jego wartość to False. Jest to szczególnie przydatne, gdy pracuje się z danymi uporządkowanymi, które zawierają nagłówki.
Jak przeprowadzić iterację przez DataTable?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Convert WorkSheet to DataTableDataTable dt = workSheet.ToDataTable(true); // Use first row as column names// Iterate through rows and columns and display dataforeach (DataRow row in dt.Rows) // Access rows{ for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row {Console.Write(row[i] + " "); }Console.WriteLine();}
using IronXL;
using System;
using System.Data;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names
// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
{
Console.Write(row[i] + " ");
}
Console.WriteLine();
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Convert WorkSheet to DataTableDim dt AsDataTable = workSheet.ToDataTable(True) ' Use first row as column names' Iterate through rows and columns and display dataFor Each row AsDataRowIn dt.Rows' Access rows For i AsInteger = 0 To dt.Columns.Count - 1 ' Access columns of corresponding rowConsole.Write(row(i) & " ") NextConsole.WriteLine()Next
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Convert WorkSheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names
' Iterate through rows and columns and display data
For Each row As DataRow In dt.Rows ' Access rows
For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row
Console.Write(row(i) & " ")
Next
Console.WriteLine()
Next
Korzystając z powyższego kodu, każda wartość komórki WorkSheet może być dostępna i użyta w miarę potrzeb. Dla bardziej zaawansowanych operacji DataTable, zobacz przewodnik dotyczący importowania i eksportowania jako DataSet.
Jak odczytywać plik Excel jako DataSet?
IronXL zapewnia prostą funkcję używania kompletnego pliku Excel (WorkBook) jako DataSet. Użyj metody ToDataSet, aby zamienić cały skoroszyt na DataSet.
W tym przykładzie zobaczymy, jak używać pliku Excel jako DataSet.
Jak przekonwertować workbook na DataSet?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Convert the WorkBook to a DataSetDataSet ds = workBook.ToDataSet();// Iterate through tables in the DataSet and display table namesforeach (DataTable dt in ds.Tables){Console.WriteLine(dt.TableName);}
using IronXL;
using System;
using System.Data;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();
// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
Console.WriteLine(dt.TableName);
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Convert the WorkBook to a DataSetDim ds AsDataSet = workBook.ToDataSet()' Iterate through tables in the DataSet and display table namesFor Each dt AsDataTableIn ds.TablesConsole.WriteLine(dt.TableName)Next
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Convert the WorkBook to a DataSet
Dim ds As DataSet = workBook.ToDataSet()
' Iterate through tables in the DataSet and display table names
For Each dt As DataTable In ds.Tables
Console.WriteLine(dt.TableName)
Next
Wynik powyższego kodu wygląda tak:
I tak wygląda plik Excel Sample.xlsx:
(center content omitted for brevity)
Jak uzyskać dostęp do każdej wartości komórki we wszystkich arkuszach?
W powyższym przykładzie możemy łatwo parsować plik Excel na DataSet i pracować z każdym DataTable pliku Excel jako DataTable. Zapoznaj się głębiej z tym jak analizować Excel jako DataSet tutaj, zawierając przykłady kodu.
Przyjrzyjmy się jeszcze jednemu przykładowi, jak uzyskać dostęp do wartości każdej komórki wszystkich ExcelSheets. Tutaj możemy uzyskać dostęp do wartości każdej komórki każdego ExcelSheet pliku Excel.
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Iterate through every WorkSheet in the WorkBookforeach (WorkSheet workSheet in workBook.WorkSheets){Console.WriteLine($"Worksheet: {workSheet.Name}"); // Access each filled cell value on the current WorkSheet foreach (var cell in workSheet.FilledCells) {Console.WriteLine($"{cell.Address}: {cell.Text}"); }}
using IronXL;
using System;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Iterate through every WorkSheet in the WorkBook
foreach (WorkSheet workSheet in workBook.WorkSheets)
{
Console.WriteLine($"Worksheet: {workSheet.Name}");
// Access each filled cell value on the current WorkSheet
foreach (var cell in workSheet.FilledCells)
{
Console.WriteLine($"{cell.Address}: {cell.Text}");
}
}
C#
Używając powyższego przykładu, można wygodnie uzyskać dostęp do wartości każdej komórki każdego ExcelSheet pliku Excel. To podejście jest szczególnie użyteczne przy pracy z książkami wieloarkuszowymi, gdzie dane są rozproszone na różnych kartach.
Więcej na temat tego, jak czytać pliki Excel bez Interop znajdziesz tutaj. Dokumentacja API referencyjnego dostarcza szczegółowe informacje o wszystkich dostępnych metodach i właściwościach w IronXL API Reference.
Szybki dostęp do samouczka
Referencja API dla IronXL
Przeczytaj więcej o funkcjach, klasach, polach metod, przestrzeniach nazw i wyliczeniach IronXL w dokumentacji.
Aby odczytać pliki XLSX w C#, użyj metody WorkBook.Load z IronXL. Po prostu załaduj plik Excel za pomocą IronXL.WorkBook.Load("twoj-plik.xlsx"), następnie uzyskaj dostęp do arkuszy, aby odczytywać dane komórek, wykonywać obliczenia i konwertować do formatu DataTable lub DataSet programowo.
Jakie formaty plików są obsługiwane podczas ładowania plików Excel?
IronXL obsługuje wiele formatów plików Excel, w tym .xls, .xlsx, .xlsm, .xltx i .csv. Metoda WorkBook.Load automatycznie wykrywa format pliku, co czyni ją wszechstronną zarówno dla starszych, jak i nowych plików Excel.
Jak mogę zainstalować bibliotekę do odczytywania Excel dla mojego projektu C#?
Możesz zainstalować IronXL zarówno poprzez bezpośrednie pobieranie, jak i przez NuGet Install dla Visual Studio. Oprogramowanie jest bezpłatne do celów deweloperskich i zapewnia prosty sposób pracy z formatami plików Excel w C#.
Jakie są różne sposoby uzyskania dostępu do konkretnego arkusza kalkulacyjnego?
IronXL oferuje wiele sposobów dostępu do arkuszy: możesz użyć workBook.GetWorkSheet("SheetName") do dostępu po nazwie, workBook.WorkSheets[0] do dostępu po indeksie lub workBook.WorkSheets.First() do pierwszego arkusza.
Czy mogę wykonywać obliczenia na danych Excel po ich załadowaniu?
Tak, po załadowaniu pliku XLSX z IronXL, możesz stosować różne funkcje, takie jak Sum, Min i Max na danych. Biblioteka zapewnia pełny dostęp do funkcjonalności plików Excel za pomocą obiektu WorkBook.
Czy możliwa jest konwersja danych z arkusza Excel na inne formaty?
Tak, IronXL pozwala na odczyt WorkSheet i konwersję do różnych formatów, w tym DataTable, DataSet i innych. To umożliwia łatwą integrację danych Excel z aplikacjami C#.
Can I convert an entire workbook to a DataSet with IronXL?
Yes, you can convert an entire workbook to a DataSet using the `ToDataSet` method, which allows you to work with each worksheet as a separate DataTable.
What is the recommended way to read multiple cells at once in IronXL?
You can read multiple cells by iterating over a specified range, for example, using `foreach` on `workSheet["A2:A10"]` to read each cell's value.
How do I install IronXL in my C# project?
You can install IronXL via direct download or through NuGet Package Manager in Visual Studio. The library is free for development purposes.
How can I display Excel sheet data results in the console using IronXL?
To display Excel sheet data in the console, load the workbook using `WorkBook.Load`, access the desired worksheet, and iterate through cells to output their values using `Console.WriteLine`.
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ęczników.