IRONSOFTWAREHOME
PORÓWNAJ Z INNYMI KOMPONENTAMI

EPPlus Czytaj Excel do DataTable C# (Samouczek IronXL)

Curtis Chau
Curtis Chau
Updated: 19 lipca 2026

Szukasz biblioteki Excel do wczytywania danych Excel do DataTable w C#?

Wczytywanie plików Excel do DataTable w C# ma kilka praktycznych zastosowań w różnych branżach i domenach, takich jak analiza danych i raportowanie, importowanie danych do baz danych, migracja danych, walidacja i czyszczenie danych, integracja z innymi systemami, automatyzacja oraz przetwarzanie wsadowe.

W tym artykule omówimy i porównamy dwie różne biblioteki Excel dla .NET Core w C#, które oferują tę funkcję, by wczytywać dane Excel i pliki Excel do DataTable. Biblioteki te są

  1. EPPlus
  2. IronXL

1. Biblioteka EPPlus

EPPlus to potężna biblioteka open source do tworzenia i edycji plików Excel w języku C#. Zapewnia prosty i intuicyjny interfejs API, który pozwala programistom generować, odczytywać i modyfikować arkusze kalkulacyjne Excel programowo, bez konieczności instalowania pakietu Microsoft Office lub programu Excel na serwerze lub komputerach klienckich. Dzięki EPPlus można łatwo tworzyć arkusze, dodawać dane, stosować formatowanie, tworzyć wykresy i wykonywać inne operacje na plikach Excel. Obsługuje zarówno starszy format .xls, jak i nowszy format .xlsx oraz zapewnia wydajną pracę i zarządzanie pamięcią. Niezależnie od tego, czy potrzebujesz generować dynamiczne raporty, importować/eksportować dane, czy automatyzować zadania związane z Excelem, EPPlus oferuje kompleksowy zestaw funkcji i możliwości, które upraszczają obsługę plików Excel w aplikacjach C#.

2. IronXL

Biblioteka IronXL to potężna i wszechstronna biblioteka, która umożliwia programistom łatwe odczytywanie, zapisywanie i manipulowanie plikami Excel w ramach ich aplikacji .NET. Dzięki intuicyjnemu i kompleksowemu API IronXL upraszcza skomplikowany proces pracy z arkuszami kalkulacyjnymi, umożliwiając programistom płynne wyodrębnianie danych, wykonywanie obliczeń, tworzenie wykresów i generowanie raportów. Niezależnie od tego, czy chodzi o automatyzację zadań importu/eksportu danych, analizę danych czy tworzenie dynamicznych szablonów Excel, IronXL zapewnia solidne rozwiązanie, które oszczędza programistom cenny czas i wysiłek, jednocześnie zapewniając dokładność i niezawodność w obsłudze danych Excel. Dzięki płynnej integracji, obszernej dokumentacji i szerokiej gamie funkcji, IronXL staje się oczywistym wyborem dla programistów poszukujących niezawodnego i wydajnego narzędzia do pokonywania wyzwań związanych z manipulacją plikami Excel w środowisku .NET Framework.

3. Instalacja biblioteki EPPlus

Aby zainstalować bibliotekę EPPlus w projekcie C#, należy najpierw utworzyć nowy projekt konsolowy w programie Visual Studio. Następnie można je łatwo zainstalować za pomocą menedżera pakietów NuGet.

Po utworzeniu nowego projektu przejdź do menu Narzędzia, najedź kursorem na Menedżer pakietów NuGet, a następnie wybierz opcję "Zarządzaj pakietami NuGet dla rozwiązania".

Pojawi się nowe okno. W tym nowym oknie przejdź do opcji "Przeglądaj" i wyszukaj "EPPlus". Pojawi się lista pakietów, z której należy wybrać najnowszą stabilną wersję. Następnie kliknij przycisk "Zainstaluj" po prawej stronie, aby zainstalować bibliotekę EPPlus.

W ten sposób EPPlus zostanie dodany do Twojego projektu.

4. Instalacja IronXL

Istnieje wiele metod instalacji IronXL, ale w tej sekcji omówimy tylko instalację IronXL za pomocą menedżera pakietów NuGet.

Podobnie jak w sekcji 3, utwórz nowy projekt, przejdź do "Narzędzia" i otwórz Menedżera pakietów NuGet dla rozwiązań.

W nowym oknie wpisz słowo kluczowe "IronXL" w pasku wyszukiwania. Pojawi się lista, z której można wybrać pakiet IronXL, który chcesz zainstalować. Następnie kliknij przycisk "Zainstaluj", aby zainstalować IronXL w swoim projekcie.

Teraz IronXL jest gotowy do użycia.

5. Odczytywanie plików Excel i danych do tabeli DataTable przy użyciu biblioteki EPPlus

W tej sekcji przyjrzymy się kodowi do odczytu Excel jako DataTable za pomocą biblioteki Excel pakietu C# EPPlus.

Potrzebujemy przykładowego pliku Excel do odczytu jako DataTable. W tym celu wygenerujemy przykładowy plik Excel.

Poniżej znajduje się kod do odczytu pliku Excel jako DataTable.

using OfficeOpenXml;
using System;
using System.Data;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var path = @"sample.xlsx"; // Specify the path to your Excel file
        var data = ExcelDataToDataTable(path, "Table");

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in data.Rows)
        {
            foreach (var wsrow in row.ItemArray)
            {
                Console.Write(wsrow + " ");
            }
            Console.WriteLine();
        }
    }

    /// <summary>
    /// Converts Excel sheet data to a DataTable.
    /// </summary>
    /// <param name="filePath">The path to the Excel file.</param>
    /// <param name="sheetName">The name of the worksheet to read from.</param>
    /// <param name="hasHeader">Indicates whether the Excel sheet has a header row.</param>
    /// <returns>DataTable containing Excel data.</returns>
    public static DataTable ExcelDataToDataTable(string filePath, string sheetName, bool hasHeader = true)
    {
        DataTable dt = new DataTable();
        var fi = new FileInfo(filePath);

        // Check if the file exists
        if (!fi.Exists)
            throw new Exception("File " + filePath + " does not exist.");

        // Set the license context for EPPlus
        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

        // Load the Excel file into an EPPlus ExcelPackage
        using (var xlPackage = new ExcelPackage(fi))
        {
            // Get the specified worksheet from the workbook
            var worksheet = xlPackage.Workbook.Worksheets[sheetName];

            // Convert the worksheet to a DataTable, optionally using the first row as column names
            dt = worksheet.Cells[1, 1, worksheet.Dimension.End.Row, worksheet.Dimension.End.Column].ToDataTable(c =>
            {
                c.FirstRowIsColumnNames = hasHeader;
            });
        }

        return dt;
    }
}

Powyższy kod definiuje metodę, która przyjmuje parametry wejściowe, takie jak ścieżka pliku i nazwa arkusza, i zwraca DataTable jako wynik. Przechodzi również przez każdy wiersz DataTable, drukując dane.

5.1. Wynik

Wynikiem będzie zawartość pliku Excel wydrukowana na konsoli.

6. Odczytywanie plików Excel jako DataTable przy użyciu IronXL

Konwersja arkusza Excel i odczytanie go jako DataTable jest bardzo łatwe przy użyciu IronXL, zaledwie w kilku liniach kodu. Dodatkowo jako dane wejściowe wykorzystamy poprzedni plik Excel.

Poniższy przykład kodu realizuje tę samą funkcjonalność co powyższy kod, ale przy użyciu IronXL.

using IronXL;
using System;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file into an IronXL WorkBook
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Get the default worksheet from the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet to a DataTable, specifying that the first row contains column names
        DataTable table = workSheet.ToDataTable(true);

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in table.Rows)
        {
            foreach (var cell in row.ItemArray)
            {
                Console.Write(cell + " ");
            }
            Console.WriteLine();
        }
    }
}

W powyższym przykładzie kodu po prostu ładujemy plik Excel i konwertujemy go na DataTable za pomocą metody workSheet.ToDataTable(true).

6.1 Wynik

Wynikiem będzie zawartość pliku Excel wydrukowana na konsoli.

7. Podsumowanie

Podsumowując, jeśli chodzi o wczytywanie plików Excel i konwersję ich na DataTable w C#, zarówno EPPlus, jak i IronXL to doskonałe biblioteki oferujące potężne funkcje i upraszczające ten proces.

EPPlus to biblioteka typu open source, która zapewnia prosty interfejs API do programowego generowania, odczytywania i modyfikowania arkuszy kalkulacyjnych Excel. Obsługuje zarówno formaty .xls, jak i .xlsx oraz zapewnia wydajną pracę i zarządzanie pamięcią.

Z drugiej strony biblioteka IronXL to wszechstronna biblioteka, która umożliwia programistom łatwą pracę z plikami Excel w aplikacjach .NET. Oferuje intuicyjny interfejs API i kompleksowe funkcje do pobierania danych, wykonywania obliczeń, tworzenia wykresów i generowania raportów. IronXL upraszcza złożone zadania związane z obsługą plików Excel, takie jak import/eksport danych, analiza danych oraz dynamiczne tworzenie szablonów.

Porównując przykłady kodu zarówno IronXL, jak i EPPlus, stwierdzamy, że kod EPPlus jest dość długi, złożony i trudny do odczytania. Z drugiej strony kod IronXL jest dość prosty i łatwy do odczytania. IronXL używa domyślnego arkusza, ale w EPPlus trzeba podać nazwę arkusza; w przeciwnym razie pojawi się błąd.

Podsumowując, poleciłbym IronXL zamiast EPPlus do manipulacji plikami Excel i wczytywania plików Excel jako DataTable. Ponadto IronXL oferuje znacznie więcej funkcji niż EPPlus w zakresie obsługi plików Excel za pomocą prostego kodu. Aby uzyskać więcej samouczków dotyczących IronXL, odwiedź poniższy link.

Zwróć uwagę: EPPlus jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z firmą EPPlus, nie jest przez nią promowana ani sponsorowana. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
Curtis Chau
Autor tekstów technicznych

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.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta