IRONSOFTWAREHOME
IRONXL KULLANARAK

IronXL ile DataTable'a Excel Dosyası İçe Aktarma

Curtis Chau
Curtis Chau
Updated: 8 Mayıs 2026

C#'da IronXL ile Excel Dosyasını DataTable'a İçe Aktarma

Manuel olarak Excel dosyalarını çözümlemenin, bir geliştiricinin gününü nadiren aydınlattığı bir sır değil. Hepimiz oradaydık, eski OLEDB bağlantı dizeleriyle uğraşırken ya da yapısız hesap tablosu verilerini .NET uygulamanızın gerçekten anladığı bir şeyle eşlemeye çalışırken.

C#'da DataTable büyük eşitleyici olarak çalışır. Bu, o satırları ve sütunları tanıdık bir yapıya dönüştürerek LINQ sorgularına, DataGrid bağlamasına veya bir SQL veritabanına hızlı bir gezintiye hazır hale getirir.

IronXL, bu süreçten ağır yükü alır. Karmaşık yapılandırmalar yerine, dönüşümü ele almak için tek bir sezgisel ToDataTable yöntemini kullanır. Raporlama aracı ya da veri taşınma betiği oluşturuyor olun, Excel verilerini zahmetsizce nasıl içe aktarabileceğiniz burada.

Takip etmek ister misiniz? Bu güçlü kütüphaneyi kendiniz denemek için IronXL'nin ücretsiz deneme sürümünü kullanın.

How Can You Import an Excel File into a DataTable in C#?

C#'da Excel dosyasını DataTable içe aktarmak için, WorkBook.Load kullanarak çalışma kitabını yükleyin, hedef çalışma sayfasına erişin ve ToDataTable metodunu çağırın. Bu yaklaşım, XLSX dosyaları ile çalışır, XLS, XLSM ve CSV formatlarını da destekler. Gerekli sınıflara erişmek için aşağıdaki isim alanlarını belirttiğinizden emin olun.

Visual Studio'da NuGet Paket Yöneticisi kullanarak, aşağıdaki komutla IronXL'yi yükleyin:

PM > Install-Package IronXL.Excel

Sonra, verinizi hareket ettirmek için bu kısa kod parçacığını kullanın:

using IronXL;
using System;
using System.Data;
class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file from the specified path
        string filePath = "sales-data.xlsx";
        WorkBook workbook = WorkBook.Load(filePath);
        // Access the first worksheet in the workbook
        WorkSheet worksheet = workbook.DefaultWorkSheet;
        // Convert worksheet to DataTable with first row as column headers
        DataTable dt = worksheet.ToDataTable(true);
        // Display the imported data
        foreach (DataRow row in dt.Rows)
        {
            Console.WriteLine(string.Join(" | ", row.ItemArray));
        }
    }
}

Çıktı

IronXL ile DataTable'a Excel Dosyası İçe Aktarma: Resim 1 - Excel dosyası bir DataTable'a aktarıldı

WorkBook.Load metodu, Excel dosyasını filePath konumundan okur ve tüm Excel sayfası verilerini içeren bir çalışma kitabı nesnesi oluşturur. ToDataTable(true) parametresi, ilk satırın otomatik olarak DataTable sütun adları olarak kullanılan sütun başlıklarını içerdiğini belirtir.

Excel Dosya Verilerini DataTable'a Okumak İçin En İyi Yöntem Nedir?

Excel dosya içeriğini verimli bir şekilde okumak, hem başlık satırlarının hem de ham veri senaryolarının ele alınmasını gerektirir. IronXL'un ToDataTable yöntemi, ilk satırın sütun adları olarak mı yoksa veri olarak mı kabul edileceğini belirleyen bir boolean parametre alır. Genişletilmiş özelliklerin ele alınması veya karmaşık hücre türlerinin dönüştürülmesi ek yapılandırma gerektirebilir, ancak varsayılan yöntem çoğu durumu sağlam bir şekilde ele alır.

using IronXL;
using System.Data;
// Load workbook from file path
string filePath = @"C:\Data\inventory.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.WorkSheets[0];
// First row as headers (true) or as data (false)
DataTable dataTableWithHeaders = worksheet.ToDataTable(true);
DataTable dataTableWithoutHeaders = worksheet.ToDataTable(false);
// Process each row in the DataTable
foreach (DataRow row in dataTableWithHeaders.Rows)
{
    for (int i = 0; i < dataTableWithHeaders.Columns.Count; i++)
    {
        object value = row[i];
        Console.Write($"{value}\t");
    }
    Console.WriteLine();
}

Çıktı

IronXL ile DataTable'a Excel Dosyası İçe Aktarma: Resim 2 - Excel dosyasını bir DataTable'a içe aktarma ve okumanın çıktısı

Bu esneklik, IronXL'u Excel tablolama dosyalarını yapılarından bağımsız olarak işlemek için ideal yapar. EPPlus paketi veya yeni OleDbDataAdapter örnekleri gerektiren geleneksel yöntemlerin aksine, IronXL dönüştürme işlemini tek bir yöntem çağrısıyla yönetir. Kütüphane, Microsoft Excel kurulumu gerektirmeksizin .NET Core, .NET Framework ve platformlar arası dağıtımı destekler.

Birden Fazla Excel Çalışma Sayfasını DataSet'e Nasıl Dönüştürürsünüz?

Excel çalışma kitabınız birden fazla sayfa içerdiğinde, DataSet'e dönüştürmek her Excel çalışma sayfasını koleksiyon içinde ayrı bir DataTable olarak korur. Bu yaklaşım, raporlama uygulamaları ve çok sayfalı veri işleme için esastır.

using IronXL;
using System;
using System.Data;
// Load multi-sheet workbook
WorkBook workbook = WorkBook.Load("quarterly-reports.xlsx");
// Convert entire workbook to DataSet (each sheet becomes a DataTable)
DataSet dataset = workbook.ToDataSet();
// Iterate through all tables in the DataSet
foreach (DataTable table in dataset.Tables)
{
    Console.WriteLine($"Sheet: {table.TableName}");
    Console.WriteLine($"Rows: {table.Rows.Count}, Columns: {table.Columns.Count}");
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(string.Join(", ", row.ItemArray));
    }
}

Çıktı

IronXL ile DataTable'a Excel Dosyası İçe Aktarma: Resim 3 - Çok sayfalı Excel dosyasını bir DataSet'e aktarma çıktısı

ToDataSet yöntemi, her çalışma sayfası için DataTable nesneleri içeren yeni bir DataSet oluşturur. Her tablonun TableName özelliği, özgün Excel sayfası adını yansıtarak işleme sırasında belirli verilere kolaylıkla başvurmanızı sağlar.

Excel'den Bir Veritabanına Nasıl Veri Aktarabilirsiniz?

Yaygın bir iş akışı, Excel dosya verilerini okumayı ve bunları bir veritabanı sistemine eklemeyi içerir. DataTable yapısı, ADO.NET ile veritabanı işlemleri için sorunsuz bir şekilde entegre olur.

using IronXL;
using System.Data;
using System.Data.SqlClient;
string filePath = @"C:\imports\customer-data.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert Excel data to DataTable
DataTable dt = worksheet.ToDataTable(true);
// Validate data before database insert
if (dt == null || dt.Rows.Count == 0)
{
    Console.WriteLine("No data to import");
    return;
}
// Insert into database using SqlBulkCopy
string connectionString = "Server=.;Database=Sales;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "Customers";
        bulkCopy.WriteToServer(dt);
    }
}
Console.WriteLine($"Imported {dt.Rows.Count} records successfully");

Bu kod, bir Excel dosyasını yüklemeyi, bir DataTable'a dönüştürmeyi ve toplu veritabanı eklemesi yapmayı nasıl gerçekleştireceğinizi gösterir. Null kontrolü, aktarma işlemine başlamadan önce veri bütünlüğünü sağlar.

Bir DataTable'ı Excel'e Geri Nasıl Aktarırsınız?

IronXL, iki yönlü veri akışını destekleyerek raporlama ve veri aktarma senaryoları için DataTable nesnelerinden Excel dosyaları oluşturmanıza olanak tanır.

using IronXL;
using System.Data;
// Create sample DataTable
DataTable dt = new DataTable("Products");
dt.Columns.Add("ProductID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(1, "Widget", 29.99m);
dt.Rows.Add(2, "Gadget", 49.99m);
// Create new workbook and load DataTable
WorkBook workbook = WorkBook.Create();
workbook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } });
// Save as Excel file
workbook.SaveAs("exported-products.xlsx");

Çıktı

IronXL ile DataTable'a Excel Dosyası İçe Aktarma: Resim 4 - DataTable Excel'e aktarıldı

LoadWorkSheetsFromDataSet yöntemi, DataTable nesnelerinizi içeren bir DataSet'i kabul eder ve karşılık gelen çalışma sayfalarını oluşturur. Belgelerde daha fazla bilgi için DataTable'ın Excel'e nasıl aktarılacağını öğrenin.

Sonuç

IronXL, Excel'den DataTable dönüştürme karmaşıklığını doğrudan yöntem çağrılarına dönüştürür. İster tek bir Excel çalışma sayfasını aktarın ister çok sayfalı çalışma kitaplarını tam bir DataSet'e işleyin, kütüphane XLSX dosyalarını, veri türü dönüştürmesini ve akış tabanlı yüklemeyi verimli bir şekilde yönetir.

DataTable esnekliği ve IronXL'un sezgisel API'si, veritabanı entegrasyonu, raporlama sistemleri ve uygulama veri bağlaması için güçlü veri iş akışları sağlar. Excel veri işlemenizi kolaylaştırmak için IronXL'u indir veya üretim dağıtımı için bir lisans satın alın.

İlk Adım:
arrow pointer
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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez