C# Dilinde Veri Kümesini İçe ve Dışa Aktarma | IronXL

DataTable'yi C#'ta Nasıl İçe ve Dışa Aktarırım?

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL, Excel çalışma kitapları ile DataSet'ler arasında tek bir yöntem çağrısı ile dönüştürme yapar - çalışma kitaplarına DataSet'leri içe aktarmak için LoadWorkSheetsFromDataSet(), çalışma kitaplarını otomatik sayfa-ile-tablo eşleştirmesiyle DataSet olarak dışa aktarmak için ToDataSet() kullanın.

DataSet, birden çok ilgili tabloyu, ilişkiyi ve kısıtlamaları içeren bir veri temsili olan bellekteki bir yapıdır. Veritabanları, XML ve diğer kaynaklardan verilerle çalışmak için kullanılır. C#'ta Excel dosyalarıyla çalışırken, DataSet veri odaklı uygulamalarla entegrasyon sağlayan tanıdık bir .NET yapısı sunar.

DataTable, bir DataSet içinde satır ve sütunlara sahip tek bir tabloyu temsil eder. IronXL, her Excel çalışma sayfasını karşılık gelen bir DataTable'ye otomatik olarak eşler, dönüşüm sırasında sütun başlıklarını ve veri türlerini korur.

Hızlı Başlangıç: Çalışma Kitabını Anında System.Data.DataSet Olarak Dışa Aktarın

Bir çalışma kitabını DataSet'ye dönüştürmek bir yöntem çağrısı gerektirir. Bu örnek, tüm çalışma kitabınızı—her sayfayı bir DataTable olarak dışa aktarmak için ToDataSet kullanarak ilk satır başlık tanımasını isteğe bağlı olarak içerir.

  1. IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronXL.Excel
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronXL kullanmaya başlayın

    arrow pointer

Bir DataSet'yi Çalışma Kitabına Nasıl Yüklerim?

Bir DataSet'yi çalışma kitabına içe aktarmak için statik LoadWorkSheetsFromDataSet yöntemini kullanın. Bu yöntem hem DataSet hem de Workbook nesnelerini gerektirir. Ayrıca DataSet aracılığıyla isteğe bağlı ayarları kabul eder. Create yöntemini kullanarak önce çalışma kitabını oluşturun. DataSet nesnesini ve workbook nesnesini yönteme iletin.

:path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-load.cs
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);
Imports IronXL
Imports System.Data

' Create dataset
Private dataSet As New DataSet()

' Create workbook
Private workBook As WorkBook = WorkBook.Create()

' Load DataSet to workBook
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
$vbLabelText   $csharpLabel

DataSet içindeki her DataTable ayrı bir çalışma sayfası haline gelir. Tablo adı çalışma sayfası adını alır ve veri organizasyonunu sürdüren bir şekilde. Birden çok veri kaynağı için, bu işlemi yeni çalışma sayfaları oluşturma veya mevcut çalışma sayfalarını yönetme ile birleştirin.

Birden çok tablo ile bir DataSet yükleme konusundaki kapsamlı bir örnek:

:path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-3.cs
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");
Imports IronXL
Imports System.Data

' Create a DataSet with multiple tables
Dim salesData As New DataSet("CompanySales")

' Create and populate a products table
Dim productsTable As New DataTable("Products")
productsTable.Columns.Add("ProductID", GetType(Integer))
productsTable.Columns.Add("ProductName", GetType(String))
productsTable.Columns.Add("Price", GetType(Decimal))

' Add sample data
productsTable.Rows.Add(1, "Laptop", 999.99D)
productsTable.Rows.Add(2, "Mouse", 19.99D)
productsTable.Rows.Add(3, "Keyboard", 49.99D)

' Create and populate a sales table
Dim salesTable As New DataTable("Sales")
salesTable.Columns.Add("SaleID", GetType(Integer))
salesTable.Columns.Add("ProductID", GetType(Integer))
salesTable.Columns.Add("Quantity", GetType(Integer))
salesTable.Columns.Add("Date", GetType(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
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook)

' Save the workbook with all imported data
workBook.SaveAs("SalesReport.xlsx")
$vbLabelText   $csharpLabel

Bu yaklaşım, SQL veritabanlarından veri dışa aktarırken veya birçok kaynaktan verileri toplulak Excel formatına dönüştürmek için iyi çalışır.

Farklı dosya formatlarından çalışma sayfalarını nasıl içe aktaracağınızı öğrenmek için Mevcut Çalışma Sayfalarını Nasıl Yüklerim'i ziyaret edin.


Bir Çalışma Kitabını DataSet Olarak Nasıl Dışa Aktarırım?

ToDataSet yöntemi, çalışma kitabını System.Data.DataSet'ye dönüştürür, burada her bir çalışma sayfası bir System.Data.DataTable haline gelir. Bu yöntemi Excel çalışma kitabında çağırarak onu DataSet nesnesine dönüştürün. useFirstRowAsColumnNames parametresi, ilk satırın sütun adları olarak kullanılıp kullanılmayacağını belirler.

:path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
// BU KOD PARÇACIK YOKTUR!
' BU KOD PARÇACIK YOKTUR!
$vbLabelText   $csharpLabel

IronXL, veri türü dönüştürme işlemini otomatik olarak yönetir ve Verisi Set'lerine dışa aktarırken elektronik tablonun yapısını korur. Excel verilerini SQL veritabanlarıyla entegre ederken veya başka .NET uygulamalarında veri kullanırken kullanışlıdır. Turbo

Gelişmiş örnek, çalışma kitabı dışa aktarmayı ve Verisi Set'inin işlenmesini gösterir.

:path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-5.cs
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
Imports IronXL
Imports System
Imports System.Data

' Load an existing Excel file
Dim workBook As WorkBook = WorkBook.Load("FinancialData.xlsx")

' Export to DataSet with column headers from first row
Dim financialDataSet As DataSet = workBook.ToDataSet(useFirstRowAsColumnNames:=True)

' Process each DataTable in the DataSet
For Each table As DataTable In financialDataSet.Tables
    Console.WriteLine($"Processing table: {table.TableName}")
    Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}")
    
    ' Iterate through columns
    For Each column As DataColumn In table.Columns
        Console.WriteLine($"  Column: {column.ColumnName} ({column.DataType})")
    Next
    
    ' Process first 5 rows as example
    Dim rowCount As Integer = 0
    For Each row As DataRow In table.Rows
        If rowCount >= 5 Then Exit For
        rowCount += 1
        
        ' Access data by column name
        For Each col As DataColumn In table.Columns
            Console.WriteLine($"    {col.ColumnName}: {row(col)}")
        Next
    Next
Next

' You can also export specific worksheets as DataTables
Dim specificSheet As WorkSheet = workBook.GetWorkSheet("Q1Sales")
Dim q1Data As DataTable = specificSheet.ToDataTable(useFirstRowAsColumnNames:=True)

' Use the DataTable with other .NET components
' For example, bind to a DataGridView or save to database
$vbLabelText   $csharpLabel

Dışa aktarılan DataSet, Excel'de tanımlanan ilişkileri ve kısıtlamaları korur, karmaşık Excel veri yapılarıyla çalışmak için mükemmeldir, Excel Interop bağımlılıkları olmadan.

Ek Verisi Seti/Veri Tablosu Özellikleri

IronXL, DataSet ve DataTable ile çalışırken gelişmiş özellikler sağlar:

Veri Türlerini İdare Etme

IronXL, Excel-Verisi Set'i dönüştürme sırasında veri türlerini akıllıca eşler. Sayısal hücreler uygun sayısal türlere dönüşür (Int32, Double, Decimal), tarih hücreleri DateTime nesneleri haline gelir, metin hücreleri String'lere dönüşür. Dönüştürmeden önce hücre veri formatlarını ayarlayarak bunu özelleştirin.

Performans Optimizasyonu

IronXL, büyük veri kümeleri için bellek kullanımı ve işleme hızını optimize eder. Kütüphane, her şeyi belleğe yüklemek yerine verileri etkin bir şekilde akış halinde işler. büyük veri hacimlerini işleyen kurumsal uygulamalar için uygundur.

Diğer Özelliklerle Entegrasyon

Verisi Seti/Veri Tablosu işlevselliği, diğer IronXL özellikleriyle entegre olur:

  • Bir DataSet'ye dışa aktarmadan önce formüller ve hesaplamalar uygulayın
  • Koşullu formatlama kullanarak dönüştürmeden önce veriyi vurgulayın
  • Visual raporlamalar için grafik oluşturma ile birleştirin
  • int kullanarak özel serileştirmeyi destekleyin
  • decimal aracılığıyla veri doğrulama kurallarını ekleyin
  • double ile eksik değerleri yönetin
  • DateTime ile çalışma sayfası meta verilerini yönetin
  • string kullanarak hücre biçimlendirme türlerini koruyun

Çalışma Sayfalarını Kaydetme veya İhraç Etmenın, elektronik tabloları çeşitli dosya formatlarına nasıl ihraç edileceği hakkındaki bölümünü ziyaret edin.

Sıkça Sorulan Sorular

C# içinde bir Excel çalışma kitabını DataSet'e nasıl dönüştürebilirim?

IronXL ile, ToDataSet() yöntemi kullanarak bir Excel çalışma kitabını DataSet'e dönüştürebilirsiniz. WorkBook.ToDataSet(useFirstRowAsColumnNames: true) çağrısını yaparak her bir sayfanın sonuçta elde edilen DataSet'te bir DataTable haline geldiği tüm çalışma kitabınızı dışa aktarabilirsiniz.

Bir DataSet'i programlı olarak bir Excel çalışma kitabına içe aktarabilir miyim?

Evet, IronXL, bir DataSet'i çalışma kitabına içe aktarmak için LoadWorkSheetsFromDataSet() yöntemini sağlar. WorkBook.Create() kullanarak bir çalışma kitabı oluşturun, ardından hem DataSet'i hem de çalışma kitabını bu statik metoda geçirin. Her bir DataTable ayrı bir çalışma sayfası olur.

Excel'e içe aktarırken DataTable adlarına ne olur?

IronXL'un LoadWorkSheetsFromDataSet() yöntemi kullanıldığında, her bir DataTable adı Excel'de çalışma sayfası adı olur, böylece veri organizasyonunuzu korur ve farklı veri kaynaklarını tanımlamayı kolaylaştırır.

Kütüphane sütun başlıklarını DataSet dönüştürme esnasında korur mu?

Evet, IronXL, Excel ve DataSet'ler arasında dönüştürürken sütun başlıklarını ve veri türlerini korur. useFirstRowAsColumnNames: true ile ToDataSet() kullanıldığında, her bir çalışma sayfasının ilk satırı sütun başlıkları olarak tanınır.

Birden fazla tablo Excel ve DataSet'ler arasında dönüştürülürken nasıl ele alınır?

IronXL, DataSet'e dönüştürülürken her bir Excel çalışma sayfasını karşılık gelen bir DataTable ile eşleştirir ve tersi. Birden fazla tablo içeren bir DataSet içe aktarılırken, her bir DataTable çalışma kitabında ayrı bir çalışma sayfası oluşturur.

Excel'i DataSet'e dışa aktarmak için gerekli minimal kod nedir?

IronXL kullanarak bir Excel çalışma kitabını DataSet'e dışa aktarmak için gereken minimal kod, sadece bir satırdır: DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); Bu, tüm çalışma kitabınızı otomatik sayfa-tablo eşlemesiyle dönüştürür.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,150,290 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronXL.Excel
örnek çalıştır verinizin bir hesap tablosu haline geldiğini izleyin.