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.
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.
-
1Install IronXL with NuGet Package Manager
-
2Bu kod parçacığını kopyalayın ve çalıştırın.
DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);C# -
3Canlı 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.
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:
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.
// source file not found: /static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
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.
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
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.
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, 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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.