IRONSOFTWAREHOME

Jak importować i eksportować DataTable w C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

IronXL konwertuje między skoroszytami Excela a DataSet dzięki prostym wywołaniom metod - użyj LoadWorkSheetsFromDataSet() do importowania DataSet do skoroszytów i ToDataSet() do eksportowania skoroszytów jako DataSet dzięki automatycznemu odwzorowywaniu arkusza na tabelę.

DataSet to reprezentacja danych w pamięci zawierająca wiele powiązanych tabel, relacji i ograniczeń. Do pracy z danymi z baz danych, XML i innych źródeł. Podczas pracy z plikami Excel w C#, DataSet dostarcza znaną strukturę .NET, która integruje się z aplikacjami opartymi na danych.

DataTable reprezentuje pojedynczą tabelę z wierszami i kolumnami w ramach DataSet. IronXL automatycznie odwzorowuje każdy arkusz Excela na odpowiadający mu DataTable, zachowując nagłówki kolumn i typy danych podczas konwersji.

Szybki start: Eksportuj skoroszyt jako System.Data.DataSet natychmiast

Konwersja skoroszytu do DataSet wymaga jednego wywołania metody. Ten przykład eksportuje cały Twój skoroszyt - każdy arkusz jako DataTable - używając ToDataSet z opcjonalnym rozpoznawaniem nagłówków w pierwszym wierszu.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Skopiuj i uruchom ten fragment kodu.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak załaduję DataSet do skoroszytu?

Użyj metody statycznej LoadWorkSheetsFromDataSet, aby zaimportować DataSet do skoroszytu. Ta metoda wymaga zarówno obiektów DataSet, jak i Workbook. Akceptuje również opcjonalne ustawienia poprzez DataSet. Najpierw utwórz skoroszyt przy użyciu metody Create. Przekaż obiekt DataSet i obiekt workbook do metody.

using IronXL;
using System.Data;

// Create dataset
DataSet dataSet = new DataSet();

// Create workbook
WorkBook workBook = WorkBook.Create();

// Load DataSet to workBook
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

Każdy DataTable w DataSet staje się osobnym arkuszem. Nazwa tabeli staje się nazwą arkusza, utrzymując organizację danych. Dla wielu źródeł danych, połącz to z tworzeniem nowych arkuszy kalkulacyjnych lub zarządzaniem istniejącymi arkuszami.

Oto kompleksowy przykład ładowania DataSet z wieloma tabelami:

using IronXL;
using System.Data;

// Create a DataSet with multiple tables
DataSet salesData = new DataSet("CompanySales");

// Create and populate a products table
DataTable productsTable = new DataTable("Products");
productsTable.Columns.Add("ProductID", typeof(int));
productsTable.Columns.Add("ProductName", typeof(string));
productsTable.Columns.Add("Price", typeof(decimal));

// Add sample data
productsTable.Rows.Add(1, "Laptop", 999.99m);
productsTable.Rows.Add(2, "Mouse", 19.99m);
productsTable.Rows.Add(3, "Keyboard", 49.99m);

// Create and populate a sales table
DataTable salesTable = new DataTable("Sales");
salesTable.Columns.Add("SaleID", typeof(int));
salesTable.Columns.Add("ProductID", typeof(int));
salesTable.Columns.Add("Quantity", typeof(int));
salesTable.Columns.Add("Date", typeof(DateTime));

// Add sample sales data
salesTable.Rows.Add(1, 1, 5, DateTime.Now);
salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1));
salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2));

// Add tables to DataSet
salesData.Tables.Add(productsTable);
salesData.Tables.Add(salesTable);

// Create workbook and load DataSet
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook);

// Save the workbook with all imported data
workBook.SaveAs("SalesReport.xlsx");

To podejście działa dobrze przy eksportowaniu danych z baz danych SQL lub konsolidacji danych z wielu źródeł do formatu Excel.

Odwiedź Jak załadować istniejące arkusze kalkulacyjne, aby dowiedzieć się o importowaniu arkuszy z różnych formatów plików.


Jak eksportować skoroszyt jako DataSet?

Metoda ToDataSet przekształca skoroszyt do System.Data.DataSet, gdzie każdy arkusz staje się System.Data.DataTable. Wywołaj tę metodę na skoroszycie Excela, aby skonwertować go na obiekt DataSet. Parametr useFirstRowAsColumnNames określa, czy używać pierwszego wiersza jako nazw kolumn.

// source file not found: /static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
C#

IronXL automatycznie obsługuje konwersję typów danych i utrzymuje strukturę arkusza kalkulacyjnego podczas eksportu do DataSet. To pomaga przy integrowaniu danych Excel z bazami danych SQL lub używaniu danych w innych aplikacjach .NET.

Zaawansowany przykład pokazujący eksport skoroszytu i przetwarzanie DataSet:

using IronXL;
using System;
using System.Data;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("FinancialData.xlsx");

// Export to DataSet with column headers from first row
DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true);

// Process each DataTable in the DataSet
foreach (DataTable table in financialDataSet.Tables)
{
    Console.WriteLine($"Processing table: {table.TableName}");
    Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}");
    
    // Iterate through columns
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine($"  Column: {column.ColumnName} ({column.DataType})");
    }
    
    // Process first 5 rows as example
    int rowCount = 0;
    foreach (DataRow row in table.Rows)
    {
        if (rowCount++ >= 5) break;
        
        // Access data by column name
        foreach (DataColumn col in table.Columns)
        {
            Console.WriteLine($"    {col.ColumnName}: {row[col]}");
        }
    }
}

// You can also export specific worksheets as DataTables
WorkSheet specificSheet = workBook.GetWorkSheet("Q1Sales");
DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true);

// Use the DataTable with other .NET components
// For example, bind to a DataGridView or save to database
C#

Eksportowany DataSet zachowuje relacje i ograniczenia zdefiniowane w Excelu, co jest idealne do pracy z złożonymi strukturami danych Excel bez zależności od Interopa Excela.

Dodatkowe funkcje DataSet/DataTable

IronXL oferuje zaawansowane funkcje podczas pracy z DataSet i DataTable:

Obsługa typów danych

IronXL inteligentnie mapuje typy danych podczas konwersji Excel-DataSet. Komórki liczbowe stają się odpowiednimi typami liczbowymi (Int32, Double, Decimal), komórki datowe stają się obiektami DateTime, a komórki tekstowe stają się String. Dostosuj to przez ustawienie formatu danych komórek przed konwersją.

Optymalizacja wydajności

IronXL optymalizuje zużycie pamięci i szybkość przetwarzania dla dużych zbiorów danych. Biblioteka skutecznie przesyła strumieniowo dane zamiast ładować wszystko do pamięci. Odpowiednia dla aplikacji enterprise przetwarzających duże ilości danych.

Integracja z innymi funkcjami

Funkcjonalność DataSet/DataTable integruje się z innymi funkcjami IronXL:

  • Zastosuj formuły i obliczenia przed eksportem do DataSet
  • Użyj formatowania warunkowego, aby podkreślić dane przed konwersją
  • Połącz z tworzeniem wykresów dla wizualnego raportowania
  • Obsługa niestandardowej serializacji przy użyciu int
  • Uwzględnij zasady walidacji danych za pomocą decimal
  • Obsługuj brakujące wartości za pomocą double
  • Zarządzaj metadanymi arkusza przez DateTime
  • Zachowaj typy formatowania komórek używając string

Odwiedź Jak zapisać lub eksportować arkusze kalkulacyjne, aby dowiedzieć się o eksportowaniu arkuszy do różnych formatów plików.

Często Zadawane Pytania

Jak przeksztalcic skoroszyt Excel do DataSet w C#?

Z IronXL mozesz przeksztalcic skoroszyt Excel do DataSet z uzyciem metody ToDataSet(). Po prostu wywolaj WorkBook.ToDataSet(useFirstRowAsColumnNames: true), aby wyeksportowac caly skoroszyt, gdzie kazdy arkusz staje sie DataTable w powstajacym DataSet.

Czy moge programistycznie zaimportowac DataSet do skoroszytu Excel?

Tak, IronXL udostepnia metode LoadWorkSheetsFromDataSet(), aby zaimportowac DataSet do skoroszytu. Utworz skoroszyt z uzyciem WorkBook.Create(), a nastepnie przekaż zarówno DataSet, jak i skoroszyt do tej statycznej metody. Kazda DataTable staje sie osobnym arkuszem.

Co dzieje sie z nazwami DataTable przy importowaniu do Excela?

Podczas uzywania metody LoadWorkSheetsFromDataSet() w IronXL, kazda nazwa DataTable automatycznie staje sie nazwa arkusza w Excelu, zachowujac organizacje danych i ułatwiajac identyfikacje roznych zrodel danych.

Czy biblioteka zachowuje naglowki kolumn podczas konwersji DataSet?

Tak, IronXL zachowuje naglowki kolumn i typy danych podczas konwersji miedzy Excel i DataSets. Podczas uzywania ToDataSet() z ustawionym useFirstRowAsColumnNames na true, pierwszy wiersz kazdego arkusza jest rozpoznawany jako naglowki kolumn.

Jak sa obslugiwane wiele tabel podczas konwersji miedzy Excel a DataSets?

IronXL automatycznie mapuje kazdy arkusz Excela do odpowiadajacego mu DataTable podczas konwersji do DataSet i na odwrot. Przy imporcie DataSet z wieloma tabelami, kazda DataTable tworzy osobny arkusz w skoroszycie.

Jaki jest minimalny kod potrzebny do eksportu Excela do DataSet?

Minimalny kod do eksportu skoroszytu Excel do DataSet z uzyciem IronXL to tylko jedna linia: DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); To przeksztalca caly skoroszyt z automatycznym mapowaniem arkusza do tabeli.

What performance optimizations does IronXL include for handling large datasets?

IronXL is optimized for high performance, using efficient streaming techniques to manage memory and speed when working with large data volumes, making it suitable for enterprise-level applications.

How does IronXL maintain data structure when converting a workbook to a DataSet?

IronXL maintains the organizational structure by converting each worksheet to a DataTable. The relationships, constraints, column headers, and data types are preserved during conversion, allowing for complex data interactions.

Can I use IronXL to create visual reports using Excel data?

Yes, IronXL supports creating charts and visual reports by integrating its DataSet/DataTable functionality with its chart creation features, allowing for comprehensive data visualization directly from Excel data.

Does IronXL support the integration of custom serialization in DataSet operations?

IronXL allows for custom serialization, which can enhance DataSet and DataTable manipulation according to specific application requirements, providing greater flexibility in handling serialized data.

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

Gotowy, aby rozpocząć?

Nuget Downloads 2,237,574Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronXL"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronXL do lokalizacji, takie jak ~/Libs w katalogu rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Myszy na Odwołania, wybierz Przeglądaj, "IronXL.dll"

Licencje od $999

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