# Jak importować pliki Excel w języku C#
IronXL umożliwia programistom C# importowanie danych z Excela za pomocą zaledwie jednej linii kodu, obsługując formaty XLSX, CSV i inne bez zależności od Interop, co pozwala na natychmiastowy dostęp do komórek, zakresów i arkuszy w celu manipulacji danymi.
*as-heading:2(Szybki start: Natychmiastowe wczytanie pliku Excel)*
Wystarczy jedno wywołanie metody przy użyciu interfejsu API IronXL bez limitu czasu, aby w ciągu kilku sekund załadować dowolny obsługiwany arkusz Excel (XLSX, CSV itp.) - bez Interop, bez kłopotów. Rozpocznij pracę z skoroszytem od razu, uzyskując dostęp do komórek, zakresów lub arkuszy w zależności od potrzeb.
```cs
:title=Quickly Import Excel in One Line
WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx");
```
<div class="learnn-how-section">
<div class="row">
<div class="col-sm-6">
<h2>Importowanie danych z Excela w języku C#</h2>
<ul class="list-unstyled">
<li>Importowanie danych za pomocą biblioteki IronXL</li>
<li>Importowanie danych z Excela w języku C#</li>
<li>Importuj dane z określonego zakresu komórek</li>
<li>Importuj dane z Excela za pomocą funkcji agregujących SUM, AVG, MIN, MAX i innych</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" />
<div class="hsg-featured-snippet">
<h3>Minimalny proces (5 kroków)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronXL.Excel/">Pobierz i zainstaluj bibliotekę C#, aby importować pliki Excel</a></li>
<li>Przygotuj pliki Excel do zaimportowania</li>
<li>Użyj metody <code>Load,</code> aby zaimportować arkusz kalkulacyjny</li>
<li>Edytuj załadowany plik Excel za pomocą intuicyjnych interfejsów API</li>
<li>Eksportuj edytowany plik Excel w różnych formatach</li>
</ol>
</div>
<h4 class="tutorial-segment-title">Krok 1</h4>
## Instalacja biblioteki IronXL
### IronXL ułatwia importowanie danych z Excela
Zaimportuj dane za pomocą funkcji udostępnianych przez bibliotekę IronXL Excel, z której będziemy korzystać w tym samouczku. Oprogramowanie jest dostępne bezpłatnie do celów programistycznych. IronXL zapewnia kompleksowy interfejs [API C# dla programu Excel](https://ironsoftware.com/csharp/excel/docs/), który upraszcza pracę z plikami Excel bez konieczności korzystania z pakietu Microsoft Office lub zależności Interop. Dzięki temu idealnie nadaje się do środowisk serwerowych i wdrożeń w chmurze.
### Metody instalacji
Zainstaluj w swoim [projekcie C# poprzez pobranie pliku DLL](/csharp/excel/packages/IronXL.zip) lub skorzystaj [z pakietu NuGet](https://www.nuget.org/packages/IronXL.Excel). Szczegółowe wskazówki dotyczące instalacji znajdziesz w naszym [przewodniku dla początkujących](https://ironsoftware.com/csharp/excel/docs/).
```shell
:ProductInstall
```
<hr class="separator" />
<h4 class="tutorial-segment-title">Poradnik "Jak to zrobić"</h4>
## Dostęp do arkusza w projekcie
### Podstawowy proces ładowania skoroszytu
Na potrzeby naszego dzisiejszego projektu zaimportujemy dane z Excela do naszej aplikacji C# przy użyciu oprogramowania IronXL zainstalowanego w kroku 1. Biblioteka obsługuje różne formaty Excela i zapewnia intuicyjne metody [ładowania arkuszy kalkulacyjnych](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/).
W kroku 2 załadujemy nasz Excel `WorkBook` w naszym projekcie C# używając funkcji `WorkBook.Load()` IronXL. Podajemy ścieżkę do pliku Excela `WorkBook` jako parametr typu string w tej funkcji:
```csharp
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
```
Plik Excel z określonej ścieżki zostanie załadowany do `wb`. Ta metoda obsługuje formaty XLSX, XLS, CSV, TSV i inne popularne formaty arkuszy kalkulacyjnych.
### Dostęp do konkretnego arkusza
Następnie musimy uzyskać dostęp do określonego `WorkSheet` pliku Excel, którego dane zostaną zaimportowane do projektu. W tym celu możemy użyć funkcji `GetWorkSheet()` IronXL, przekazując nazwę arkusza jako parametr typu string, aby określić, który arkusz `WorkBook` zaimportować. Dowiedz się więcej o zarządzaniu arkuszami w naszym obszernym przewodniku.
```csharp
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
```
`WorkSheet` zostanie zaimportowany jako `ws`, a `wb` to `WorkBook`, który zdefiniowaliśmy w powyższym przykładzie kodu.
### Alternatywne metody uzyskiwania dostępu do arkuszy kalkulacyjnych
Istnieją następujące alternatywne sposoby importowania pliku Excel `WorkSheet` do projektu. Każda metoda zapewnia elastyczność w zależności od konkretnego przypadku użycia:
```csharp
// Import WorkSheet by various methods
// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];
// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;
// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();
// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
```
Teraz możemy z łatwością importować dowolny typ danych z określonych plików Excel. Przyjrzyjmy się wszystkim możliwym aspektom importowania danych z plików Excel do naszego projektu.
<hr class="separator" />
## Importowanie danych z Excela w języku C#
### Podstawowa metoda importowania komórek
Jest to podstawowy aspekt importowania danych z pliku Excel do naszego projektu. IronXL oferuje wiele sposobów uzyskiwania dostępu do danych komórek, dzięki czemu jest elastyczny w różnych scenariuszach.
W tym celu możemy użyć systemu adresowania komórek, aby określić, które dane komórek musimy zaimportować. Zwraca wartość określonego adresu komórki z pliku Excel:
```csharp
var cellValue = ws["Cell Address"];
```
### Importowanie danych przy użyciu indeksów wierszy i kolumn
Możemy również importować dane komórek z plików Excel, korzystając z indeksów wierszy i kolumn. Ta linia kodu zwraca wartość określonego indeksu wiersza i kolumny. Takie podejście jest szczególnie przydatne podczas iteracji danych programowo:
```csharp
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
```
### Przechowywanie zaimportowanych wartości w zmiennych
Aby przypisać wartości z importowanych komórek do zmiennych, użyj tego kodu. Metoda `ToString()` zapewnia zgodność z zmiennymi typu string, ale możesz również rzutować na inne typy według potrzeby:
```csharp
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();
// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
```
W powyższych przykładach indeksy wierszy i kolumn zaczynają się od 0. Aby uzyskać więcej informacji na temat zaawansowanych operacji na komórkach, zapoznaj się z naszym przewodnikiem dotyczącym [czyszczenia](https://ironsoftware.com/csharp/excel/how-to/clear-cells/) i [kopiowania komórek](https://ironsoftware.com/csharp/excel/how-to/copy-cells/).
<hr class="separator" />
## Importowanie danych z określonego zakresu
### Składnia funkcji zakresu
Aby zaimportować dane w określonym zakresie z pliku Excel `WorkBook`, użyj funkcji `range`. Zdefiniuj zakres, opisując adresy komórek początkowej i końcowej. Zwraca wszystkie wartości komórek w określonym zakresie. Aby zapoznać się z kompleksowymi technikami doboru zakresu, zapoznaj się z naszym przewodnikiem dotyczącym doboru zakresu.
```csharp
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
```
### Przykład importu pełnego zakresu
Aby uzyskać więcej informacji na temat pracy z zakresami w plikach Excel oraz dowiedzieć się więcej o pobieraniu danych różnymi metodami. Poniższy przykład ilustruje importowanie zarówno wartości poszczególnych komórek, jak i zakresów:
```csharp
using IronXL;
using System;
// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);
Console.WriteLine("import Values in Range From B3 To B9 :\n");
// Import data in specific range
foreach (var item in ws["B3:B9"])
{
Console.WriteLine(item.Value.ToString());
}
Console.ReadKey();
```
Powyższy kod wyświetla następujący wynik:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/1output.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/1output.png" alt="Wynik wyświetlony w konsoli pokazujący wyniki importu zakresu B3:B9 z Excela z wartością Midmarket i listą krajów, w tym Niemcy, Meksyk, Kanada" class="img-responsive add-shadow" /></a>
</div>
</center>
Z wartościami pliku Excel `sample.xlsx` jako:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/1excel.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/1excel.png" alt="Arkusz kalkulacyjny Excel z danymi dotyczącymi sprzedaży, w którym komórki zaznaczone na niebiesko służą do wyboru zakresu podczas procesu importowania" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## Importowanie danych z Excela przy użyciu funkcji agregujących
### Dostępne funkcje agregujące
Zastosuj funkcje agregujące do plików Excel i zaimportuj dane wynikowe z tych funkcji. IronXL oferuje wbudowane funkcje matematyczne, które ułatwiają analizę danych. Oto przykłady różnych funkcji i ich zastosowań:
- `Sum()`
```csharp
// To find the sum of a specific cell range
var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
```
- `Average()`
```csharp
// To find the average of a specific cell range
var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
```
- `Min()`
```csharp
// To find the minimum in a specific cell range
var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
```
- `Max()`
```csharp
// To find the maximum in a specific cell range
var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
```
### Wspólne używanie wielu funkcji agregujących
Dowiedz się więcej o pracy z funkcjami agregującymi w Excelu dla języka C# oraz o różnych metodach pobierania danych. Funkcje te są szczególnie przydatne do generowania statystyk podsumowujących lub sprawdzania poprawności importowanych danych.
Zobacz przykład importowania danych z pliku Excel przy użyciu tych funkcji:
```csharp
using IronXL;
using System;
// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();
Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);
Console.ReadKey();
```
Powyższy kod daje nam następujący wynik:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/2output.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/2output.png" alt="Wynik wyświetlany w konsoli pokazujący funkcje agregujące programu Excel: Suma=452, Średnia=56,5, Min=5, Maks=350 dla zakresu komórek od D2 do D9" class="img-responsive add-shadow" /></a>
</div>
</center>
A nasz plik `sample.xlsx` zawiera te wartości:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/2excel.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/2excel.png" alt="Arkusz kalkulacyjny Excel z danymi sprzedaży, w którym kolumna "Cena sprzedaży" jest wyróżniona i zawiera wartości do analizy za pomocą funkcji agregujących" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## Importowanie danych z całego pliku Excel
### Metoda ToDataSet
Aby zaimportować pełne dane pliku Excel do projektu C#, najpierw przetwórz załadowane `WorkBook` do `DataSet`. W ten sposób pełne dane Excela importują się do `DataSet`, a `WorkSheets` w plikach Excela stają się `DataTables` w tym `DataSet`. Takie podejście jest szczególnie przydatne w przypadku operacji na bazach danych lub podczas pracy z kontrolkami powiązanymi z danymi. Dowiedz się więcej o importowaniu i eksportowaniu jako `DataSet`.
```csharp
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
```
To importuje nasz określony `WorkSheet` do `DataSet` do użytku zgodnie z wymaganiami. Ta metoda jest szczególnie przydatna podczas pracy z wieloma arkuszami jednocześnie lub podczas integracji danych z Excela z operacjami ADO.NET.
### Postępowanie z nagłówkami kolumn
Często pierwszy wiersz pliku Excel służy jako nazwy kolumn. W tym przypadku, ustaw pierwszy wiersz jako nazwiska `DataTable`. Ustaw parametr logiczny funkcji `ToDataSet()` IronXL w następujący sposób:
```csharp
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
```
To sprawia, że pierwszy wiersz pliku Excel `DataTable` nazwami kolumn, co jest istotne dla utrzymania integralności struktury danych podczas pracy z ustrukturyzowanymi danymi Excela.
### Przyklad kompletnego importu DataSet
Zobacz kompletny przykład importu danych Excela do `DataSet` i używając pierwszego wiersza arkusza Excela `WorkSheet` jako `DataTable` nazw kolumn:
```csharp
using IronXL;
using System;
using System.Data;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);
Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
```
Praca z funkcjami Excel `Dataset` i `DataTable` może być skomplikowana, ale mamy dostępne więcej przykładów integracji danych z plików w Twoim projekcie C#. Dla zaawansowanych scenariuszy rozważ przestudiowanie naszych przewodników dotyczących Excela do SQL z użyciem `DataTable` i ładowania Excela z bazy danych SQL.
<hr class="separator" />
<h4 class="tutorial-segment-title">Szybki dostęp do biblioteki</h4>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Zapoznaj sie z dokumentacja IronXL</h3>
<p>Dowiedz sie więcej o pobieraniu danych Excel przez komórki, zakresy, zbiory danych i tabele danych w naszej pełnej dokumentacji API Reference dla IronXL.</p>
<a class="doc-link" href="/csharp/excel/object-reference/api/" target="_blank"> Zapoznaj sie z dokumentacja 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>
IronXL umożliwia programistom C# importowanie danych z Excela za pomocą zaledwie jednej linii kodu, obsługując formaty XLSX, CSV i inne bez zależności od Interop, co pozwala na natychmiastowy dostęp do komórek, zakresów i arkuszy w celu manipulacji danymi.
Wystarczy jedno wywołanie metody przy użyciu interfejsu API IronXL bez limitu czasu, aby w ciągu kilku sekund załadować dowolny obsługiwany arkusz Excel (XLSX, CSV itp.) - bez Interop, bez kłopotów. Rozpocznij pracę z skoroszytem od razu, uzyskując dostęp do komórek, zakresów lub arkuszy w zależności od potrzeb.
Użyj metody Load, aby zaimportować arkusz kalkulacyjny
Edytuj załadowany plik Excel za pomocą intuicyjnych interfejsów API
Eksportuj edytowany plik Excel w różnych formatach
Krok 1
Instalacja biblioteki IronXL
IronXL ułatwia importowanie danych z Excela
Zaimportuj dane za pomocą funkcji udostępnianych przez bibliotekę IronXL Excel, z której będziemy korzystać w tym samouczku. Oprogramowanie jest dostępne bezpłatnie do celów programistycznych. IronXL zapewnia kompleksowy interfejs API C# dla programu Excel, który upraszcza pracę z plikami Excel bez konieczności korzystania z pakietu Microsoft Office lub zależności Interop. Dzięki temu idealnie nadaje się do środowisk serwerowych i wdrożeń w chmurze.
Na potrzeby naszego dzisiejszego projektu zaimportujemy dane z Excela do naszej aplikacji C# przy użyciu oprogramowania IronXL zainstalowanego w kroku 1. Biblioteka obsługuje różne formaty Excela i zapewnia intuicyjne metody ładowania arkuszy kalkulacyjnych.
W kroku 2 załadujemy nasz Excel WorkBook w naszym projekcie C# używając funkcji WorkBook.Load() IronXL. Podajemy ścieżkę do pliku Excela WorkBook jako parametr typu string w tej funkcji:
' Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
Plik Excel z określonej ścieżki zostanie załadowany do wb. Ta metoda obsługuje formaty XLSX, XLS, CSV, TSV i inne popularne formaty arkuszy kalkulacyjnych.
Dostęp do konkretnego arkusza
Następnie musimy uzyskać dostęp do określonego WorkSheet pliku Excel, którego dane zostaną zaimportowane do projektu. W tym celu możemy użyć funkcji GetWorkSheet() IronXL, przekazując nazwę arkusza jako parametr typu string, aby określić, który arkusz WorkBook zaimportować. Dowiedz się więcej o zarządzaniu arkuszami w naszym obszernym przewodniku.
// Specify sheet name of Excel WorkBookWorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
' Specify sheet name of Excel WorkBookDim ws AsWorkSheet = wb.GetWorkSheet("SheetName")
' Specify sheet name of Excel WorkBook
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
WorkSheet zostanie zaimportowany jako ws, a wb to WorkBook, który zdefiniowaliśmy w powyższym przykładzie kodu.
Alternatywne metody uzyskiwania dostępu do arkuszy kalkulacyjnych
Istnieją następujące alternatywne sposoby importowania pliku Excel WorkSheet do projektu. Każda metoda zapewnia elastyczność w zależności od konkretnego przypadku użycia:
// Import WorkSheet by various methods// by sheet indexingWorkSheet mySheet = wb.WorkSheets[SheetIndex];// get default WorkSheetWorkSheet defaultSheet = wb.DefaultWorkSheet;// get first WorkSheetWorkSheet firstSheet = wb.WorkSheets.First();// for the first or default sheetWorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
// Import WorkSheet by various methods
// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];
// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;
// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();
// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
' Import WorkSheet by various methods' by sheet indexingDim mySheet AsWorkSheet = wb.WorkSheets(SheetIndex)' get default WorkSheetDim defaultSheet AsWorkSheet = wb.DefaultWorkSheet' get first WorkSheetDim firstSheet AsWorkSheet = wb.WorkSheets.First()' for the first or default sheetDim firstOrDefaultSheet AsWorkSheet = wb.WorkSheets.FirstOrDefault()
' Import WorkSheet by various methods
' by sheet indexing
Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex)
' get default WorkSheet
Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet
' get first WorkSheet
Dim firstSheet As WorkSheet = wb.WorkSheets.First()
' for the first or default sheet
Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault()
Teraz możemy z łatwością importować dowolny typ danych z określonych plików Excel. Przyjrzyjmy się wszystkim możliwym aspektom importowania danych z plików Excel do naszego projektu.
Importowanie danych z Excela w języku C#
Podstawowa metoda importowania komórek
Jest to podstawowy aspekt importowania danych z pliku Excel do naszego projektu. IronXL oferuje wiele sposobów uzyskiwania dostępu do danych komórek, dzięki czemu jest elastyczny w różnych scenariuszach.
W tym celu możemy użyć systemu adresowania komórek, aby określić, które dane komórek musimy zaimportować. Zwraca wartość określonego adresu komórki z pliku Excel:
var cellValue = ws["Cell Address"];
var cellValue = ws["Cell Address"];
Dim cellValue = ws("Cell Address")
Dim cellValue = ws("Cell Address")
Importowanie danych przy użyciu indeksów wierszy i kolumn
Możemy również importować dane komórek z plików Excel, korzystając z indeksów wierszy i kolumn. Ta linia kodu zwraca wartość określonego indeksu wiersza i kolumny. Takie podejście jest szczególnie przydatne podczas iteracji danych programowo:
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
Przechowywanie zaimportowanych wartości w zmiennych
Aby przypisać wartości z importowanych komórek do zmiennych, użyj tego kodu. Metoda ToString() zapewnia zgodność z zmiennymi typu string, ale możesz również rzutować na inne typy według potrzeby:
// Import Data by Cell Address// by cell addressingstring val = ws["Cell Address"].ToString();// by row and column indexingstring valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();// for numeric valuesdecimal numericValue = ws["B2"].DecimalValue;// for date valuesDateTime dateValue = ws["C2"].DateTimeValue;
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();
// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
' Import Data by Cell Address' by cell addressingDim val AsString = ws("Cell Address").ToString()' by row and column indexingDim valWithIndexing AsString = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()' for numeric valuesDim numericValue AsDecimal = ws("B2").DecimalValue' for date valuesDim dateValue AsDateTime = ws("C2").DateTimeValue
' Import Data by Cell Address
' by cell addressing
Dim val As String = ws("Cell Address").ToString()
' by row and column indexing
Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
' for numeric values
Dim numericValue As Decimal = ws("B2").DecimalValue
' for date values
Dim dateValue As DateTime = ws("C2").DateTimeValue
W powyższych przykładach indeksy wierszy i kolumn zaczynają się od 0. Aby uzyskać więcej informacji na temat zaawansowanych operacji na komórkach, zapoznaj się z naszym przewodnikiem dotyczącym czyszczenia i kopiowania komórek.
Importowanie danych z określonego zakresu
Składnia funkcji zakresu
Aby zaimportować dane w określonym zakresie z pliku Excel WorkBook, użyj funkcji range. Zdefiniuj zakres, opisując adresy komórek początkowej i końcowej. Zwraca wszystkie wartości komórek w określonym zakresie. Aby zapoznać się z kompleksowymi technikami doboru zakresu, zapoznaj się z naszym przewodnikiem dotyczącym doboru zakresu.
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
Przykład importu pełnego zakresu
Aby uzyskać więcej informacji na temat pracy z zakresami w plikach Excel oraz dowiedzieć się więcej o pobieraniu danych różnymi metodami. Poniższy przykład ilustruje importowanie zarówno wartości poszczególnych komórek, jak i zakresów:
using IronXL;using System;// Import Excel WorkBookWorkBook wb = WorkBook.Load("sample.xlsx");// Specify WorkSheetWorkSheet ws = wb.GetWorkSheet("Sheet1");// Import data of specific cellstring val = ws["A4"].Value.ToString();Console.WriteLine("Import Value of A4 Cell address: {0}", val);Console.WriteLine("import Values in Range From B3 To B9 :\n");// Import data in specific rangeforeach (var item in ws["B3:B9"]){Console.WriteLine(item.Value.ToString());}Console.ReadKey();
using IronXL;
using System;
// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);
Console.WriteLine("import Values in Range From B3 To B9 :\n");
// Import data in specific range
foreach (var item in ws["B3:B9"])
{
Console.WriteLine(item.Value.ToString());
}
Console.ReadKey();
ImportsIronXLImportsSystem' Import Excel WorkBookDim wb AsWorkBook = WorkBook.Load("sample.xlsx")' Specify WorkSheetDim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import data of specific cellDim val AsString = ws("A4").Value.ToString()Console.WriteLine("Import Value of A4 Cell address: {0}", val)Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)' Import data in specific rangeFor Each item In ws("B3:B9")Console.WriteLine(item.Value.ToString())NextConsole.ReadKey()
Imports IronXL
Imports System
' Import Excel WorkBook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import data of specific cell
Dim val As String = ws("A4").Value.ToString()
Console.WriteLine("Import Value of A4 Cell address: {0}", val)
Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)
' Import data in specific range
For Each item In ws("B3:B9")
Console.WriteLine(item.Value.ToString())
Next
Console.ReadKey()
Powyższy kod wyświetla następujący wynik:
Z wartościami pliku Excel sample.xlsx jako:
Importowanie danych z Excela przy użyciu funkcji agregujących
Dostępne funkcje agregujące
Zastosuj funkcje agregujące do plików Excel i zaimportuj dane wynikowe z tych funkcji. IronXL oferuje wbudowane funkcje matematyczne, które ułatwiają analizę danych. Oto przykłady różnych funkcji i ich zastosowań:
Sum()
// To find the sum of a specific cell rangevar sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
// To find the sum of a specific cell range
var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
' To find the sum of a specific cell rangeDim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
' To find the sum of a specific cell range
Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
Average()
// To find the average of a specific cell rangevar average = ws["Starting Cell Address:Ending Cell Address"].Avg();
// To find the average of a specific cell range
var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
' To find the average of a specific cell rangeDim average = ws("Starting Cell Address:Ending Cell Address").Avg()
' To find the average of a specific cell range
Dim average = ws("Starting Cell Address:Ending Cell Address").Avg()
Min()
// To find the minimum in a specific cell rangevar minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
// To find the minimum in a specific cell range
var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
' To find the minimum in a specific cell rangeDim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
' To find the minimum in a specific cell range
Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
Max()
// To find the maximum in a specific cell rangevar maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
// To find the maximum in a specific cell range
var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
' To find the maximum in a specific cell rangeDim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
' To find the maximum in a specific cell range
Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
Wspólne używanie wielu funkcji agregujących
Dowiedz się więcej o pracy z funkcjami agregującymi w Excelu dla języka C# oraz o różnych metodach pobierania danych. Funkcje te są szczególnie przydatne do generowania statystyk podsumowujących lub sprawdzania poprawności importowanych danych.
Zobacz przykład importowania danych z pliku Excel przy użyciu tych funkcji:
using IronXL;using System;// Import Excel fileWorkBook wb = WorkBook.Load("sample.xlsx");// Specify WorkSheetWorkSheet ws = wb.GetWorkSheet("Sheet1");// Import Excel file data by applying aggregate functionsdecimal sum = ws["D2:D9"].Sum();decimal avg = ws["D2:D9"].Avg();decimal min = ws["D2:D9"].Min();decimal max = ws["D2:D9"].Max();Console.WriteLine("Sum From D2 To D9: {0}", sum);Console.WriteLine("Avg From D2 To D9: {0}", avg);Console.WriteLine("Min From D2 To D9: {0}", min);Console.WriteLine("Max From D2 To D9: {0}", max);Console.ReadKey();
using IronXL;
using System;
// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();
Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);
Console.ReadKey();
ImportsIronXLImportsSystem' Import Excel fileDim wb AsWorkBook = WorkBook.Load("sample.xlsx")' Specify WorkSheetDim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import Excel file data by applying aggregate functionsDim sum AsDecimal = ws("D2:D9").Sum()Dim avg AsDecimal = ws("D2:D9").Avg()Dim min AsDecimal = ws("D2:D9").Min()Dim max AsDecimal = ws("D2:D9").Max()Console.WriteLine("Sum From D2 To D9: {0}", sum)Console.WriteLine("Avg From D2 To D9: {0}", avg)Console.WriteLine("Min From D2 To D9: {0}", min)Console.WriteLine("Max From D2 To D9: {0}", max)Console.ReadKey()
Imports IronXL
Imports System
' Import Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import Excel file data by applying aggregate functions
Dim sum As Decimal = ws("D2:D9").Sum()
Dim avg As Decimal = ws("D2:D9").Avg()
Dim min As Decimal = ws("D2:D9").Min()
Dim max As Decimal = ws("D2:D9").Max()
Console.WriteLine("Sum From D2 To D9: {0}", sum)
Console.WriteLine("Avg From D2 To D9: {0}", avg)
Console.WriteLine("Min From D2 To D9: {0}", min)
Console.WriteLine("Max From D2 To D9: {0}", max)
Console.ReadKey()
Powyższy kod daje nam następujący wynik:
A nasz plik sample.xlsx zawiera te wartości:
Importowanie danych z całego pliku Excel
Metoda ToDataSet
Aby zaimportować pełne dane pliku Excel do projektu C#, najpierw przetwórz załadowane WorkBook do DataSet. W ten sposób pełne dane Excela importują się do DataSet, a WorkSheets w plikach Excela stają się DataTables w tym DataSet. Takie podejście jest szczególnie przydatne w przypadku operacji na bazach danych lub podczas pracy z kontrolkami powiązanymi z danymi. Dowiedz się więcej o importowaniu i eksportowaniu jako DataSet.
// Import WorkBook into DataSetDataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
' Import WorkBook into DataSetDim ds AsDataSet = wb.ToDataSet()
' Import WorkBook into DataSet
Dim ds As DataSet = wb.ToDataSet()
To importuje nasz określony WorkSheet do DataSet do użytku zgodnie z wymaganiami. Ta metoda jest szczególnie przydatna podczas pracy z wieloma arkuszami jednocześnie lub podczas integracji danych z Excela z operacjami ADO.NET.
Postępowanie z nagłówkami kolumn
Często pierwszy wiersz pliku Excel służy jako nazwy kolumn. W tym przypadku, ustaw pierwszy wiersz jako nazwiska DataTable. Ustaw parametr logiczny funkcji ToDataSet() IronXL w następujący sposób:
// Import WorkBook into DataSet with first row as ColumnNamesDataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
net
net
To sprawia, że pierwszy wiersz pliku Excel DataTable nazwami kolumn, co jest istotne dla utrzymania integralności struktury danych podczas pracy z ustrukturyzowanymi danymi Excela.
Przyklad kompletnego importu DataSet
Zobacz kompletny przykład importu danych Excela do DataSet i używając pierwszego wiersza arkusza Excela WorkSheet jako DataTable nazw kolumn:
using IronXL;using System;using System.Data;WorkBook wb = WorkBook.Load("sample.xlsx");WorkSheet ws = wb.GetWorkSheet("Sheet1");// Import Excel data into a DataSetDataSet ds = wb.ToDataSet(true);Console.WriteLine("Excel file data imported to dataset successfully.");Console.ReadKey();
using IronXL;
using System;
using System.Data;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);
Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
ImportsIronXLImportsSystemImportsSystem.DataDim wb AsWorkBook = WorkBook.Load("sample.xlsx")Dim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import Excel data into a DataSetDim ds AsDataSet = wb.ToDataSet(True)Console.WriteLine("Excel file data imported to dataset successfully.")Console.ReadKey()
Imports IronXL
Imports System
Imports System.Data
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import Excel data into a DataSet
Dim ds As DataSet = wb.ToDataSet(True)
Console.WriteLine("Excel file data imported to dataset successfully.")
Console.ReadKey()
Praca z funkcjami Excel Dataset i DataTable może być skomplikowana, ale mamy dostępne więcej przykładów integracji danych z plików w Twoim projekcie C#. Dla zaawansowanych scenariuszy rozważ przestudiowanie naszych przewodników dotyczących Excela do SQL z użyciem DataTable i ładowania Excela z bazy danych SQL.
Szybki dostęp do biblioteki
Zapoznaj sie z dokumentacja IronXL
Dowiedz sie więcej o pobieraniu danych Excel przez komórki, zakresy, zbiory danych i tabele danych w naszej pełnej dokumentacji API Reference dla IronXL.
Jak zaimportować plik Excel w C# bez użycia Microsoft Office?
Możesz zaimportować pliki Excel w C# używając IronXL, które nie wymaga Microsoft Office ani zależności Interop. Po prostu użyj metody WorkBook.Load() z twoją ścieżką pliku, np.: WorkBook wb = WorkBook.Load("path/to/data.xlsx"). To działa z formatami XLSX, XLS, CSV, TSV i innymi.
Jakie formaty plików Excel mogę zaimportować z tą biblioteką C#?
IronXL obsługuje importowanie różnych formatów Excel, w tym XLSX, XLS, CSV, TSV i inne popularne formaty arkuszy. Ta sama metoda WorkBook.Load() obsługuje wszystkie te formaty automatycznie.
Czy możliwe jest importowanie danych Excel na serwery lub środowiska chmurowe?
Tak, IronXL jest idealne do środowisk serwerowych i wdrażania w chmurze, ponieważ nie wymaga Microsoft Office ani zależności Interop. To czyni go idealnym dla aplikacji webowych, Azure Functions i innych scenariuszy po stronie serwera.
Jak szybko mogę zacząć pracować z danymi Excel po zaimportowaniu?
Dzięki API bez ograniczeń czasowych IronXL, możesz załadować dowolny obsługiwany arkusz Excel w kilka sekund za pomocą tylko jednej linii kodu. Po użyciu WorkBook.Load() możesz natychmiast rozpocząć interakcję z komórkami, zakresami lub arkuszami.
Czy mogę zaimportować konkretne zakresy komórek z plików Excel?
Tak, IronXL pozwala na import danych z konkretnych zakresów komórek po załadowaniu skoroszytu. Możesz uzyskać dostęp do poszczególnych komórek, zakresów lub całych arkuszy za pomocą intuicyjnego API.
Jak zainstalować bibliotekę importującą Excel dla C#?
Możesz zainstalować IronXL poprzez menedżera pakietów NuGet lub pobierając DLL bezpośrednio. Biblioteka dostępna jest za darmo do rozwoju i zapewnia kompleksową dokumentację do rozpoczęcia pracy.
Can the first row of an Excel file be used as column names in IronXL?
Yes, when importing Excel data into a `DataSet`, you can set the first row as column names by using the `ToDataSet(true)` method in IronXL.
How do I import numeric or date values from Excel cells using IronXL?
In IronXL, you can import numeric values using `.DecimalValue` and date values using `.DateTimeValue` from specific Excel cells to ensure they are in the correct data type.
What is the advantage of using IronXL for Excel import in C# over Interop?
IronXL requires no Interop dependencies, making it ideal for server environments and cloud deployments where Microsoft Office installation is not feasible.
Is IronXL available for free for development purposes?
Yes, IronXL is available for free for development purposes, providing a comprehensive C# Excel API to simplify working with Excel files.
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.