C# ile DataSet/DataTable Nasıl İçe ve Dışa Aktarılır?
IronXL, Excel calisma kitaplari ve DataSetler arasinda tek bir metot cagrisi ile donusum yapar - DataSetleri calisma kitaplarina aktarmak icin LoadWorkSheetsFromDataSet(), calisma kitaplarini DataSet olarak otomatik sayfa-tablo eslemesi ile disari aktarmak icin ToDataSet() kullanin.
DataSet, birden fazla iliskili tablo, iliski ve kisitlar iceren bir verinin bellekteki temsilidir. Veritabanları, XML ve diğer kaynaklardan gelen verilerle çalışmak için kullanılır. C# ile Excel dosyalariyla calisirken, DataSet veri odakli uygulamalar ile entegre edilen tanidik bir .NET yapisi sunar.
DataTable, DataSet icindeki satirlar ve sutunlar ile tek bir tabloyu temsil eder. IronXL, her Excel calisma sayfasini uygun bir DataTable ile otomatik olarak esler ve donusum sirasinda sutun basliklari ve veri turlerini korur.
Hızlı Başlangıç: Çalışma Kitabını Anında System.Data.DataSet Olarak Dışa Aktarın
Bir calisma kitabini DataSet dönüştürmek icin bir metot cagrisi yeterlidir. Bu örnek, ToDataSet kullanarak her bir sayfayi bir DataTable olarak, opsiyonel ilk satir baslik tanimasi ile butun calisma kitabini disari aktarir.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin
PM > Install-Package IronXl.Excel -
Bu kod parçasını kopyalayıp çalıştırın.
DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile
Minimal Is Akisi (5 adimda)
- DataSet olarak ithal ve ihraç etmek için C# kütüphanesini indirin
- Prepare the `DataSet` to import into a spreadsheet object
- Use the
LoadWorkSheetsFromDataSetmethod to import the `DataSet` into the workbook - Use the
ToDataSetmethod to export the workbook as a `DataSet` - Donuşum sonucunu kontrol et
Bir Veri Kümesi Nasıl Çalışma Kitabına Yüklenir?
Bir DataSet calisma kitabina aktarmak icin statik LoadWorkSheetsFromDataSet metodunu kullanin. Bu metot hem DataSet hem de Workbook nesnelerini gerektirir. Ilk once Create metodunu kullanarak calisma kitabini oluşturun. Metoda DataSet nesnesi ve workbook nesnesini 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)
Her DataTable, DataSet icinde ayri bir calisma sayfasi olur. Tablo adı, veri organizasyonunu koruyarak çalışma sayfası adı olur. Birden fazla veri kaynağı için, bu yöntemi yeni e-tablolar oluşturarak veya mevcut çalışma sayfalarını yöneterek birleştirin.
Iste coklu tablo iceren bir DataSet yukleme ornegi:
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");
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 ihracatı yaparken veya birden fazla kaynaktan gelen verileri Excel formatına toplarken iyi çalışır.
Mevcut E-tabloları Nasıl Yükleyeceğinizi ziyaret ederek farklı dosya formatlarından e-tabloları içe aktarma hakkında bilgi edinin.
Bir Çalışma Kitabını Veri Kümesi Olarak Nasıl İhraç Ederim?
ToDataSet metodu, calisma kitabini System.Data.DataSet'e dönüştürur, burada her calisma sayfasi bir System.Data.DataTable olur. Bunu bir DataSet nesnesine dönüştürmek icin Excel calisma kitabinda bu metodu cagirin. useFirstRowAsColumnNames parametresi, ilk satırı sütun adları olarak kullanıp kullanmama durumunu belirler.
:path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
// BU KOD PARÇASI MEVCUT DEĞİL!
' BU KOD PARÇASI MEVCUT DEĞİL!
IronXL, veri türü dönüşümünü otomatik olarak yapar ve DataSet'lere ihracat sırasında e-tablo yapısını korur. Bu, Excel verilerini SQL veritabanlarıyla entegre ederken veya diğer .NET uygulamalarında veri kullanırken yardımcı olur.
Çalışma kitabı ihracatı ve DataSet işlemesi gösteren gelişmiş örnek:
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.WorkSheets["Q1Sales"];
DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true);
// Use the DataTable with other .NET components
// For example, bind to a DataGridView or save to database
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.WorkSheets["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.WorkSheets("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
Ihraç edilen DataSet, Excel'de tanimlanmis iliskiler ve kisitlari korur, Excel Interop bagimliliklari olmadan kompleks Excel veri yapilariyla calismak icin idealdir.
Ek Veri Kümesi/Veri Tablosu Özellikleri
IronXL, DataSet ve DataTable ile calisirken gelişmiş özellikler sunar:
Veri Türlerini Yönetme
IronXL, Excel-Veri Kümesi dönüşümünde veri türlerini akıllıca eşleştirir. Sayisal hucreler uygun sayisal tiplere (int, decimal, double) donusur, tarih hucreleri DateTime nesneleri olur, metin hucreleri string'lere donusur. Dönüşüm öncesi hücre veri formatlarını ayarlayarak bunu özelleştirin.
Performans Optimizasyonu
IronXL, büyük veri kümeleri için hafıza kullanımı ve işlem hızını optimize eder. Kütüphane, her şeyi belleğe yüklemek yerine veriyi verimli bir şekilde akışa alır. Büyük veri hacimlerini işleyen kurumsal uygulamalar için uygun.
Diğer Özelliklerle Entegrasyon
Veri Kümesi/Veri Tablosu işlevselliği, IronXL'nin diğer özellikleriyle entegre edilir:
- Bir
DataSet'a ihraç etmeden once formulleri ve hesaplamalari uygulayin - Dönüşüm öncesi veriyi vurgulamak için şartlı biçimlendirme kullanın
- Görsel raporlama için grafik oluşturma ile birleştirin
E-tabloları Kaydetme veya İhraç Etme hakkında bilgi edinmek için ziyaret edin.
Sıkça Sorulan Sorular
Excel iş kitabını C#'ta Veri Kümesine nasıl dönüştürürüm?
IronXL ile, bir Excel iş kitabını ToDataSet() yöntemi ile Veri Kümesine dönüştürebilirsiniz. WorkBook.ToDataSet(useFirstRowAsColumnNames: true) çağrısı yaparak, her bir sayfanın sonuçta oluşan Veri Kümesinde bir Veri Tablosu haline geleceği şekilde tüm iş kitabını dışa aktarabilirsiniz.
Bir Veri Kümesini programla olarak bir Excel iş kitabına aktarabilir miyim?
Evet, IronXL, bir Veri Kümesini bir iş kitabına aktarmak için LoadWorkSheetsFromDataSet() yöntemini sağlar. WorkBook.Create() kullanarak bir iş kitabı oluşturun, ardından hem Veri Kümesini hem de iş kitabını bu statik metoda aktarın. Her Veri Tablosu ayrı bir çalışma sayfası olur.
Excel'e aktarılırken Veri Tablosu adlarına ne olur?
IronXL'nin LoadWorkSheetsFromDataSet() yöntemini kullanırken, her Veri Tablosu adı otomatik olarak Excel'deki çalışma sayfası adı olur ve veri organizasyonunuzu korur, böylece farklı veri kaynaklarını tanımlamak kolay hale gelir.
Kütüphane, Veri Kümesi dönüştürme sırasında sütun başlıklarını korur mu?
Evet, IronXL, Excel ve Veri Kümeleri arasında dönüşüm sırasında sütun başlıklarını ve veri türlerini korur. useFirstRowAsColumnNames ayarını true olarak ayarlayarak 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 Veri Kümeleri arasında dönüştürülürken nasıl ele alınır?
IronXL, Excel çalışma sayfasını bir Veri Kümesine dönüştürürken ve tersi işlemde, her Excel yaprağını otomatik olarak karşılık gelen bir Veri Tablosuna eşler. Birden çok tablo içeren bir Veri Kümesi aktarılırken, her Veri Tablosu iş kitabında ayrı bir çalışma sayfası oluşturur.
Excel'den Veri Kümesine dışa aktarmak için gereken en az kod nedir?
IronXL kullanarak Excel iş kitabını Veri Kümesine dışa aktarmak için gerekli olan en az kod sadece bir satırdır: DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); Bu, otomatik sayfa-tablo haritalaması ile tüm iş kitabınızı dönüştürür.

