DataTable'yi C#'ta Nasıl İçe ve Dışa Aktarırım?
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.
-
IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronXL kullanmaya başlayın
Asgari İş Akışı (5 adım)
- Bir DataSet formatında içe ve dışa aktarmak için C# kitaplığını indirin
DataSeti bir çalışma sayfası nesnesine içe aktarmak için hazırlayınDataSeti çalışma kitabına yüklemek içinLoadWorkSheetsFromDataSetyöntemini kullanın- Çalışma kitabını
DataSetolarak dışa aktarmak içinToDataSetyöntemini kullanın - Dönüşüm sonucunu kontrol edin
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)
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")
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!
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
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
intkullanarak özel serileştirmeyi destekleyindecimalaracılığıyla veri doğrulama kurallarını ekleyindoubleile eksik değerleri yönetinDateTimeile çalışma sayfası meta verilerini yönetinstringkullanarak 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.

