IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Importuj plik Excel do DataTable z IronXL

Curtis Chau
Curtis Chau
Updated: 8 maja 2026

C# Importuj plik Excel do DataTable z IronXL

Nie jest tajemnicą, że ręczne parsowanie plików Excel rzadko bywa atrakcją dnia programisty. Wszyscy tam byliśmy, zmagając się z przestarzałymi ciągami połączeń OLEDB lub próbując odwzorować niestrukturalne dane arkusza kalkulacyjnego w coś, co twoja aplikacja .NET faktycznie rozumie.

DataTable w C# to wielki równoważnik. Działa jako idealny most, zamieniając wiersze i kolumny w znaną strukturę gotową do zapytań LINQ, wiązania DataGrid lub szybkiej wizyty w bazie danych SQL.

IronXL usuwa ciężar z tego procesu. Zamiast skomplikowanych konfiguracji, używa jednej, intuicyjnej metody ToDataTable do przetwarzania konwersji. Niezależnie czy budujesz narzędzie raportowania, czy scenariusz migracji danych, oto jak możesz łatwo zaimportować dane Excel.

Chcesz podążać za tym? Użyj darmowego okresu próbnego IronXL, aby wypróbować tę potężną bibliotekę dla siebie.

How Can You Import an Excel File into a DataTable in C#?

Aby zaimportować plik Excel do DataTable w C#, załaduj skoroszyt używając WorkBook.Load, uzyskaj dostęp do docelowego arkusza i wywołaj metodę ToDataTable. To podejście działa z plikami w formatach XLSX, XLS, XLSM i CSV. Upewnij się, że odwołujesz się do następujących przestrzeni nazw w celu uzyskania dostępu do niezbędnych klas.

Zainstaluj IronXL za pośrednictwem Menedżera Pakietów NuGet, używając następującego polecenia w Visual Studio:

PM > Install-Package IronXL.Excel

Następnie użyj tego zwięzłego fragmentu kodu, aby przetransportować swoje dane:

using IronXL;
using System;
using System.Data;
class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file from the specified path
        string filePath = "sales-data.xlsx";
        WorkBook workbook = WorkBook.Load(filePath);
        // Access the first worksheet in the workbook
        WorkSheet worksheet = workbook.DefaultWorkSheet;
        // Convert worksheet to DataTable with first row as column headers
        DataTable dt = worksheet.ToDataTable(true);
        // Display the imported data
        foreach (DataRow row in dt.Rows)
        {
            Console.WriteLine(string.Join(" | ", row.ItemArray));
        }
    }
}

Wynik

Importowanie pliku Excel do DataTable z IronXL: Obraz 1 - Plik Excel zaimportowany do DataTable

Metoda WorkBook.Load odczytuje plik Excel z lokalizacji filePath w postaci łańcuchowej i tworzy obiekt skoroszytu zawierający wszystkie dane arkusza Excel. Parametr ToDataTable(true) wskazuje, że pierwszy wiersz zawiera nagłówki kolumn, które są automatycznie używane jako nazwy kolumn DataTable.

Jaka Jest Najlepsza Metoda Czytania Danych z Pliku Excel do DataTable?

Odczyt zawartości pliku Excel w sposób efektywny wymaga obsługi zarówno wierszy nagłówkowych, jak i surowych danych. Metoda ToDataTable IronXL akceptuje parametr logiczny, który decyduje, czy pierwszy wiersz jest traktowany jako nazwy kolumn, czy jako dane. Należy pamiętać, że obsługa rozszerzonych właściwości lub konwersja złożonych typów komórek mogą wymagać dodatkowej konfiguracji, ale metoda domyślna obsługuje większość przypadków niezawodnie.

using IronXL;
using System.Data;
// Load workbook from file path
string filePath = @"C:\Data\inventory.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.WorkSheets[0];
// First row as headers (true) or as data (false)
DataTable dataTableWithHeaders = worksheet.ToDataTable(true);
DataTable dataTableWithoutHeaders = worksheet.ToDataTable(false);
// Process each row in the DataTable
foreach (DataRow row in dataTableWithHeaders.Rows)
{
    for (int i = 0; i < dataTableWithHeaders.Columns.Count; i++)
    {
        object value = row[i];
        Console.Write($"{value}\t");
    }
    Console.WriteLine();
}

Wynik

Importowanie pliku Excel do DataTable z IronXL: Obraz 2 - Wynik importowania i odczytywania pliku Excel do DataTable

Ta elastyczność sprawia, że IronXL jest idealny do przetwarzania plików arkuszy Excel, niezależnie od ich struktury. W przeciwieństwie do pakietu EPPlus lub tradycyjnych metod wymagających nowych instancji OleDbDataAdapter, IronXL obsługuje konwersję w jednym wywołaniu metody. Biblioteka obsługuje .NET Core, .NET Framework i wdrożenia międzyplatformowe bez konieczności instalowania Microsoft Excel.

Jak Przekształcić Wiele Arkuszy Excel na DataSet?

Gdy twój skoroszyt Excel zawiera wiele arkuszy, przekształcenie na DataSet zachowuje każdy arkusz Excel jako oddzielną DataTable w ramach kolekcji. To podejście jest niezbędne dla aplikacji raportujących i przetwarzania danych z wielu arkuszy.

using IronXL;
using System;
using System.Data;
// Load multi-sheet workbook
WorkBook workbook = WorkBook.Load("quarterly-reports.xlsx");
// Convert entire workbook to DataSet (each sheet becomes a DataTable)
DataSet dataset = workbook.ToDataSet();
// Iterate through all tables in the DataSet
foreach (DataTable table in dataset.Tables)
{
    Console.WriteLine($"Sheet: {table.TableName}");
    Console.WriteLine($"Rows: {table.Rows.Count}, Columns: {table.Columns.Count}");
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(string.Join(", ", row.ItemArray));
    }
}

Wynik

Importowanie pliku Excel do DataTable z IronXL: Obraz 3 - Wynik importowania pliku Excel z wieloma arkuszami do DataSet

Metoda ToDataSet tworzy nowy DataSet zawierający obiekty DataTable dla każdego arkusza. Właściwość TableName każdej tabeli odzwierciedla oryginalną nazwę arkusza Excel, ułatwiając odwoływanie się do określonych danych podczas przetwarzania.

Jak zaimportować dane z Excela do bazy danych?

Typowy workflow obejmuje odczyt danych z pliku Excel i wstawianie ich do systemu bazy danych. Struktura DataTable integruje się bezproblemowo z ADO.NET do operacji na bazach danych.

using IronXL;
using System.Data;
using System.Data.SqlClient;
string filePath = @"C:\imports\customer-data.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert Excel data to DataTable
DataTable dt = worksheet.ToDataTable(true);
// Validate data before database insert
if (dt == null || dt.Rows.Count == 0)
{
    Console.WriteLine("No data to import");
    return;
}
// Insert into database using SqlBulkCopy
string connectionString = "Server=.;Database=Sales;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "Customers";
        bulkCopy.WriteToServer(dt);
    }
}
Console.WriteLine($"Imported {dt.Rows.Count} records successfully");

Ten kod demonstruje, jak załadować plik Excel, przekonwertować go na DataTable i wykonać masowe wstawianie do bazy danych. Sprawdzenie wartości null zapewnia integralność danych przed próbą operacji importu.

Jak wyeksportować DataTable z powrotem do Excela?

IronXL wspiera dwukierunkowy przepływ danych, umożliwiając tworzenie plików Excel z obiektów DataTable na potrzeby raportowania i scenariuszy eksportu danych.

using IronXL;
using System.Data;
// Create sample DataTable
DataTable dt = new DataTable("Products");
dt.Columns.Add("ProductID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(1, "Widget", 29.99m);
dt.Rows.Add(2, "Gadget", 49.99m);
// Create new workbook and load DataTable
WorkBook workbook = WorkBook.Create();
workbook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } });
// Save as Excel file
workbook.SaveAs("exported-products.xlsx");

Wynik

Importowanie pliku Excel do DataTable z IronXL: Obraz 4 - Eksport DataTable do Excel

Metoda LoadWorkSheetsFromDataSet przyjmuje DataSet zawierający obiekty DataTable i tworzy odpowiednie arkusze. Dowiedz się więcej o eksportowaniu DataTable do Excela w dokumentacji.

Wnioski

IronXL przekształca złożoność konwersji Excel-do-DataTable w proste wywołania metod. Biblioteka efektywnie obsługuje pliki XLSX, konwersję typów danych i ładowanie strumieniowe, zarówno przy imporcie pojedynczego arkusza Excel, jak i przetwarzaniu książek z wieloma arkuszami do kompletnego DataSet.

Połączenie elastyczności DataTable i intuicyjnego API IronXL umożliwia potężne workflow dotyczące danych dla integracji z bazami danych, systemów raportowania i wiązania danych aplikacji. Pobierz IronXL aby usprawnić przetwarzanie danych Excel, lub zakup licencję na wdrożenie produkcyjne.

Pierwszy krok:
arrow pointer
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