IRONSOFTWAREHOME
IRONXL KULLANARAK

C#'da Excel'i SQL Server'a Nasıl İçe Aktarırsınız

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

Birçok farklı iş bağlamında, Excel verilerini SQL Server'a aktarmak tipik bir gerekliliktir. Bir Excel dosyasından veri okumak ve bunları bir SQL Server veritabanına nakletmek bu faaliyeti kapsar. Aktarma sihirbazı sıkça kullanılsa da, IronXL, veri işleme için daha programatik ve esnek bir yaklaşım sunar. IronXL, dosyalardan Excel verilerini ithal edebilen güçlü bir C# kütüphanesidir; bu nedenle bu işlemi hızlandırmak mümkündür. Bu nedenle, bu gönderi, IronXL'u kullanarak Excel'den SQL Server'a veri ithal etmeyi, yapılandırmayı, çalıştırmayı ve geliştirmeyi kapsamlı bir şekilde ele alan bir kılavuz sunacaktır.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 1 - IronXL: C# Excel Kütüphanesi

How to Import Excel to SQL Server in C#

  1. Geliştirme Ortamınızı Kurun
  2. Excel Dosyanızı Hazırlayın
  3. SQL Server Veritabanınıza Bağlanın
  4. IronXL Kullanarak Excel Dosyalarından Veri Okuma
  5. Verileri Dışa Aktarma ve IronPDF Kullanarak Bir PDF Raporu Oluşturma
  6. PDF Raporunu İnceleme

IronXL Nedir?

IronXL, bazen IronXL.Excel olarak da anılır, .NET uygulamalarında Excel dosyalarıyla çalışmayı kolaylaştırmak üzere geliştirilmiş özellik açısından zengin bir C# kütüphanesidir. Bu sağlam araç, geliştiricilerin Excel dosyalarını okumalarını, yaratmalarını ve düzenlemelerini sağlar ve bilgisayara Microsoft Excel kurulumuna ihtiyaç duymaz, bu nedenle sunucu-tabanlı uygulamalar için idealdir. Excel 2007 ve üzeri (.xlsx) ve Excel 97–2003 (.xls) formatları, çeşitli Excel dosya sürümlerini yönetmekte esneklik sağlar. Çalışma sayfalarını, satırları ve sütunları düzenlemek gibi önemli veri manipülasyonlarına, ayrıca veri eklemek, güncellemek ve silmek için olanak tanır.

IronXL ayrıca hücre formatlamasını ve Excel formüllerini destekler, programlı olarak karmaşık ve iyi biçimlendirilmiş çalışma sayfaları oluşturmayı sağlar. Performans optimizasyonu ve .NET Framework, .NET Core ve .NET 5/6 dahil birden fazla .NET platformuyla uyumluluğuyla IronXL, büyük veri kümelerinin etkin bir şekilde işlenmesini garanti eder. Basit veri ithal/ihracat işlemleri veya karmaşık raporlama sistemleri için, uygulamalarına Excel dosya işlemlerini entegre etmek isteyen geliştiriciler için esnek bir seçenektir, çünkü diğer .NET çerçeveleriyle pürüzsüz bir arayüz entegrasyonu sağlar.

Başlıca Özellikler

Excel Dosyaları Okuma ve Yazma

Geliştiriciler, IronXL kullanarak Excel dosyalarına veri yazabilir ve okuyabilirler. Yeni Excel dosyaları oluşturmak ve var olanları düzenlemek basittir.

Microsoft Excel Kurulumu Gerekmez

IronXL, bazı diğer kütüphanelerin aksine, uygulamayı barındıran bilgisayarda Microsoft Excel kurulumunu gerektirmez. Bu nedenle, sunucu-tabanlı uygulamalar için idealdir.

Çeşitli Excel Formatları İçin Destek

Kütüphane, .xls (Excel 97-2003) ve .xlsx (Excel 2007 ve sonrası) formatlarını destekleyerek çeşitli Excel dosya türlerini yönetmekte esneklik sunar.

Yeni Bir Visual Studio Projesi Oluşturun

Bir Visual Studio konsolu projesi oluşturmak basittir. Visual Studio'da bir Konsol Uygulaması oluşturmak için şu adımları izleyin:

  1. Visual Studio'yu Aç: Bilgisayarınıza Visual Studio kurulu olduğundan emin olun ve açın.
  2. Yeni Bir Proje Başlatın: File -> New -> Project seçin.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 2 - Yeni'yi Tıklayın

  1. Create a new project kutusunun sol panelinden tercih ettiğiniz programlama dilini seçin—örneğin, C#.
  2. Mevcut proje şablonları listesinden Console App veya Console App (.NET Core) şablonunu seçin.
  3. Ad alanında projenize bir isim verin.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 3 - Bir ad ve kaydetme konumu sağlayın

  1. Projeyi kaydetmek için bir yer belirleyin.
  2. Bir Konsol için bir uygulama projesi başlatmak için Oluştur'a tıklayın.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 4 - Son olarak bir uygulama başlatmak için oluştur'u tıklayın

IronXL Kütüphanesi Yükleme

Gelecek güncelleme nedeniyle IronXL kütüphanesini yüklemek gereklidir. Son olarak, işlemi bitirmek için, NuGet Paket Yöneticisi Konsolu'nu açın ve şu komutu girin:

PM > Install-Package IronXL.Excel

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 5 - IronXL'i yüklemek için yukarıdaki komutu NuGet Paket Yöneticisi Konsoluna girin

NuGet Paket Yöneticisini kullanarak IronXL paketini aramak başka bir yöntemdir. Bu, IronXL ile bağlantılı hangi NuGet paketlerini indirme seçeneklerini seçmemizi sağlar.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 6 - Alternatif olarak IronXL'i NuGet Paket Yöneticisini kullanarak arayın ve yükleyin

IronXL ile SQL'e Excel İthal Et

IronXL Kullanarak Excel'den Veri Okuma

Excel dosyalarından veri okuma süreci, IronXL ile daha kolay hale gelir. Aşağıdaki örnek, IronXL kullanarak Excel dosyasından veri okuma konusunda size rehberlik eder. Bu yaklaşımla, veriler birer satıra karşılık gelen sözlüklerden oluşan bir listede okunur ve saklanır.

using IronXL;
using System;
using System.Collections.Generic;

public class ExcelReader
{
    public static List<Dictionary<string, object>> ReadExcelFile(string filePath)
    {
        // Initialize a list to store data from Excel
        var data = new List<Dictionary<string, object>>();

        // Load the workbook from the file path provided
        WorkBook workbook = WorkBook.Load(filePath);

        // Access the first worksheet in the workbook
        WorkSheet sheet = workbook.WorkSheets[0];

        // Retrieve column headers from the first row
        var headers = new List<string>();
        foreach (var header in sheet.Rows[0].Columns)
        {
            headers.Add(header.ToString());
        }

        // Loop through each row starting from the second row
        for (int i = 1; i < sheet.Rows.Count; i++)
        {
            // Create a dictionary to store the row data associated with column headers
            var rowData = new Dictionary<string, object>();
            for (int j = 0; j < headers.Count; j++)
            {
                rowData[headers[j]] = sheet.Rows[i][j].Value;
            }
            data.Add(rowData);
        }

        return data;
    }
}

SQL Server'a Bağlanma

SQL Server'a bağlantı kurmak için System.Data.SqlClient alanından SqlConnection sınıfını kullanın. Genellikle veritabanı adı, sunucu adı ve kimlik bilgileri içeren doğru bağlantı dizesine sahip olun. Bir SQL Server veritabanına nasıl bağlanılacağını ve veri eklenmek istendiğini aşağıdaki örnek anlatmaktadır.

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;

public class SqlServerConnector
{
    private string connectionString;

    // Constructor accepts a connection string
    public SqlServerConnector(string connectionString)
    {
        this.connectionString = connectionString;
    }

    // Inserts data into the specified table
    public void InsertData(Dictionary<string, object> data, string tableName)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            // Construct an SQL INSERT command with parameterized values to prevent SQL injection
            var columns = string.Join(",", data.Keys);
            var parameters = string.Join(",", data.Keys.Select(key => "@" + key));
            string query = $"INSERT INTO {tableName} ({columns}) VALUES ({parameters})";

            using (SqlCommand command = new SqlCommand(query, connection))
            {
                // Add parameters to the command
                foreach (var kvp in data)
                {
                    command.Parameters.AddWithValue("@" + kvp.Key, kvp.Value ?? DBNull.Value);
                }

                // Execute the command
                command.ExecuteNonQuery();
            }
        }
    }
}

IronXL ve SQL Server'ı Birleştirme

Excel dosyalarını okuma ve SQL veritabanına veri ekleme mantığı kurulduktan sonra, bu özellikleri tüm ithalat işlemini bitirmek için entegre edin. Aşağıdaki uygulama, bir Excel dosyasından bilgi alır ve Microsoft SQL Server veritabanına ekler.

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        // Define the path to the Excel file, SQL connection string, and target table name
        string excelFilePath = "path_to_your_excel_file.xlsx";
        string connectionString = "your_sql_server_connection_string";
        string tableName = "your_table_name";

        // Read data from Excel
        List<Dictionary<string, object>> excelData = ExcelReader.ReadExcelFile(excelFilePath);

        // Create an instance of the SQL connector and insert data
        SqlServerConnector sqlConnector = new SqlServerConnector(connectionString);
        foreach (var row in excelData)
        {
            sqlConnector.InsertData(row, tableName);
        }

        Console.WriteLine("Data import completed successfully.");
    }
}

Bu sınıf, verilen Excel dosyasındaki verileri IronXL kullanarak okumaktan sorumludur. ReadExcelFile fonksiyonu Excel çalışma kitabını yükler, ilk çalışma sayfasını açar ve veri çalışma sayfasının satırlarını döngüye alarak veri toplar. Tabloları yönetmeyi kolaylaştırmak için bilgiler bir sözlük listesinde saklanır.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 7 - Girdi Excel dosyası örneği

Bu sınıf, verileri belirtilen veritabanı tablosuna eklemekle ve SQL Server veritabanına bağlantıyı yönetmekle sorumludur. InsertData yöntemi, SQL enjeksiyonunu önlemek için parametreli sorgular kullanır ve sütun adlarını temsil eden sözlük anahtarlarına dayanarak bir SQL INSERT sorgusu dinamik olarak oluşturur.

Excel dosyasından SQL tablosuna verileri okumak için ExcelReader sınıfını ve her satırı SQL Server tablosuna eklemek için SqlServerConnector sınıfını kullanarak Main fonksiyonu tüm süreci yönetir.

C#: Excel'i SQL Server'a Nasıl İçe Aktarılır: Şekil 8 - SQL Server'da başarılı sorgu gösterimi

Hataların işlenmesi ve optimizasyon, dayanıklı ve etkili bir ithalat sürecini sağlamak için önemlidir. Muhtemel eksik dosyalar, geçersiz veri formatları ve SQL istisnaları gibi olası sorunları yönetmek için sağlam hata işleme uygulanabilir. Hata işleme dahil etmenin bir örneği burada.

try
{
    // Insert the importing logic here
}
catch (Exception ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}

Sonuç

Son olarak, .NET uygulamaları içerisinde Excel dosyalarını yönetmek için etkili ve güvenilir bir yöntem C# ve IronXL kullanarak verileri Excel'den MS SQL veritabanına ithal etmektir. IronXL, çoklu Excel formatlarıyla uyumludur ve veri okuma ve yazma işlemlerini kolaylaştıran güçlü yetenekleri vardır, böylece Microsoft Excel kurulumuna gerek kalmaz. System.Data.SqlClient entegrasyonu ile IronXL aracılığıyla geliştiriciler, güvenliği artırmak ve SQL enjeksiyonunu önlemek için parametreli sorgular kullanarak SQL Server'lar arasında verileri kolayca taşıyabilir.

Sonuç olarak, IronXL ve Iron Software'i .NET geliştirme için araç setinize eklemek, Excel'i etkin bir şekilde manipüle etmenize, PDF'ler oluşturmanıza, OCR yapmanıza ve barkod kullanmanıza olanak tanır. Iron Software'ın esnek paketini IronXL'un kullanım kolaylığı, birlikte çalışabilirlik ve performans garantisi ile birleştiren birleşimler, doğrudan geliştirme ve artırılmış uygulama yetenekleri sağlar. Projenin gereksinimlerine göre özelleştirilmiş net lisans seçenekleri ile geliştiriciler doğru modeli güvenle seçebilirler. Bu avantajları kullanarak, geliştiriciler, uyum ve açıklığı korurken çeşitli zorlukları etkili bir şekilde ele alabilirler.

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