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.
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.
-
Install IronXL with NuGet Package Manager
PM > Install-Package IronXl.Excel -
Skopiuj i uruchom ten fragment kodu.
WorkBook wb = IronXl.WorkBook.Load("path/to/data.xlsx"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
Importowanie danych z Excela w języku C#
- Importowanie danych za pomocą biblioteki IronXL
- Importowanie danych z Excela w języku C#
- Importuj dane z określonego zakresu komórek
- Importuj dane z Excela za pomocą funkcji agregujących SUM, AVG, MIN, MAX i innych
Minimalny proces (5 kroków)
- Pobierz i zainstaluj bibliotekę C#, aby importować pliki Excel
- Przygotuj pliki Excel do zaimportowania
- 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.
Metody instalacji
Zainstaluj w swoim projekcie C# poprzez pobranie pliku DLL lub skorzystaj z pakietu NuGet. Szczegółowe wskazówki dotyczące instalacji znajdziesz w naszym przewodniku dla początkujących.
Install-Package IronXl.Excel
Poradnik "Jak to zrobić"
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.
Na kroku 2 załadujemy nasz Excel WorkBook w naszym projekcie CSharp, korzystając z funkcji WorkBook.Load() biblioteki IronXL. W tej funkcji przekazujemy ścieżkę do skoroszytu Excel jako parametr typu string:
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
' Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
Plik Excel w określonej ścieżce 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 konkretnego arkusza w pliku Excel, którego dane zostaną zaimportowane do projektu. Do tego celu możemy użyć funkcji GetWorkSheet() biblioteki IronXL, przekazując nazwę arkusza jako parametr typu string, aby wskazać, który arkusz WorkBook zaimportować. Dowiedz się więcej o zarządzaniu arkuszami w naszym obszernym przewodniku.
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
' Specify sheet name of Excel WorkBook
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
Arkusz zostanie zaimportowany jako ws, a wb to WorkBook, który zdefiniowaliśmy w przykładzie kodu powyżej.
Alternatywne metody uzyskiwania dostępu do arkuszy kalkulacyjnych
Istnieją następujące alternatywne sposoby importowania arkusza Excel do projektu. Każda metoda zapewnia elastyczność w zależności od konkretnego przypadku użycia:
// 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 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 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")
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)
Przechowywanie zaimportowanych wartości w zmiennych
Aby przypisać wartości z importowanych komórek do zmiennych, użyj tego kodu. Metoda ToString() zapewnia zgodność ze zmiennymi typu string, ale w razie potrzeby można również wykonać rzutowanie na inne typy:
// 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 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 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
To import data in a specific range from an Excel WorkBook, use the range function. 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")
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:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs
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();
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:
With the values of Excel file sample.xlsx as:
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 range var 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 range Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum()$vbLabelText $csharpLabel -
Average()// 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 range var 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()$vbLabelText $csharpLabel -
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 range var 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()$vbLabelText $csharpLabel -
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 range var 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()$vbLabelText $csharpLabel
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:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs
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();
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ć kompletne dane z pliku Excel do projektu C#, należy najpierw przeanalizować załadowany skoroszyt do zestawu danych (DataSet). W ten sposób kompletne dane z Excela są importowane do zestawu danych (DataSet), a arkusze w plikach Excela stają się tabelami danych (DataTables) w ramach tego zestawu danych. 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 DataSet
DataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
' Import WorkBook into DataSet
Dim ds As DataSet = wb.ToDataSet()
Powoduje to zaimportowanie określonego arkusza roboczego do zestawu danych (DataSet) w celu wykorzystania 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 pierwszy wiersz powinien zawierać nazwy kolumn tabeli danych. Ustaw parametr boolean funkcji ToDataSet() biblioteki IronXL w następujący sposób:
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
' Import WorkBook into DataSet with first row as ColumnNames
Dim ds As DataSet = wb.ToDataSet(True)
To sprawia, że pierwszy wiersz pliku Excel jest nazwami kolumn DataTable, co jest kluczowe dla zachowania integralności struktury danych podczas pracy z ustrukturyzowanymi danymi Excel.
Przykład kompletnego importu DataSet
Zobacz kompletny przykład importu danych Excel do DataSet i używania pierwszego wiersza arkusza Excel jako nazw kolumn DataTable:
:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs
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();
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 więcej przykładów dostępnych na temat integracji danych z plików w twoim projekcie C#. W złożonych sytuacjach rozważ zapoznanie się z naszymi przewodnikami na temat Excel do SQL za pomocą DataTable i ładowania Excel z bazy danych SQL.
Szybki dostęp do biblioteki
Zapoznaj się z dokumentacją IronXL
Dowiedz się więcej o pobieraniu danych Excel przez komórki, zakresy, zbiory danych i tabele danych w naszej pełnej dokumentacji API Reference dla IronXL.
Zapoznaj się z dokumentacją IronXLCzęsto Zadawane Pytania
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, funkcji Azure 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.





