Altbilgi içeriğine atla
IRONXL KULLANARAK
Bir Veri Tablosunu Excel Dosyasına Nasıl Dönüştürürüm

C# Veri Tablosundan Excel'e (Kod Örneği Eğitimi)

İki ana neden dolayı bir Excel elektronik tablosunu programatik olarak değiştirmek zor olabilir. İlk olarak, elektronik tablolarla uğraşırken, kullanıcılar tutarlı bir arayüz ve belge yapısını korumalıdır; bu her zaman basit değildir. İkincisi, özellikle karmaşık hesaplamalar söz konusu olduğunda, hangi kodun belirli durumlarda çalışacağını her zaman açık değildir. Programmatik olarak bir Excel dosyası oluşturmanın zor olmasının birçok nedeni vardır. Programcılar, önce Excel belgesindeki verileri okunabilir bir formata dönüştürmeli, ardından verileri ayrıştırmalı ve tekrar ayrıştırmalıdır; bu, daha da zordur. Bu soruna bir çözüm buldum. IronXL .NET Excel kütüphanesini kullanarak herhangi bir sorun yaşamadan bir Excel dosyası oluşturmayı ve bir DataTable'ı Excel sayfasına programatik olarak aktarmayı öğreteceğim. Başlayalım:

IronXL Özellikleri

  • IronXL, Windows, Linux ve macOS dahil olmak üzere çeşitli İşletim Sistemlerinde çalışır.
  • Neredeyse tüm .NET Çerçeveleri, Konsol, Windows Forms Uygulaması ve Web Uygulaması dahil olmak üzere IronXL tarafından desteklenir.
  • IronXL, Excel dosyalarını okumayı kolay ve basit hale getirir.
  • IronXL ile, XLSX dosyaları, XLS, CSV, TSV, XLST, XLSM dosyaları gibi Excel dosya formatlarını veri tablolarını dışa aktarma, veri tablolarını dışa aktarma ve Excel dosyası okuma gibi işlemleri çalıştırabiliriz.
  • IronXL, XLS, CSV, TSV, JSON, XLSX ve diğerleri dahil olmak üzere çeşitli uzantılarla dosyaları kaydetmemizi ve dışa aktarmamızı sağlar.
  • Excel formülleri IronXL tarafından oluşturulabilir.
  • Metin, Numaralar, Formüller, Tarihler, Para Birimi, Yüzdeler ve diğer Excel hücre veri formatları IronXL tarafından desteklenir.
  • Ayrıca Aralıklar, Sütunlar ve Satır gibi birçok sıralama seçenekleri sunar.
  • IronXL'de hücre stillendirmesi yazı tipi, boyut, arka plan deseni, kenarlık ve hizalama gibi özellikleri içerir.
  • IronXL kullanarak bir Excel dosyasından veri okuyabilir ve dışa aktarabiliriz.
  • IronXL, sunucunuza Excel veya Interop yüklemeyi gerektirmez. IronXL API, Microsoft Office, Interop ve Excel'e göre daha hızlı ve kullanımı daha kolaydır.

1 Visual Studio'da Yeni Bir Proje Oluşturma

IronXL kutuphanesini kullanmak icin Visual Studio'da bir .NET projesi oluşturmamiz gerekiyor. Visual Studio'nun herhangi bir surumunu kullanabilirsiniz, ancak en son surumu kullanmanız önerilir. Gereksinimleriniz dogrultusunda Windows Forms gibi bir uygulama veya farklı proje şablonları oluşturabilirsiniz. Bu eğitim için basitlik açısından Konsol Uygulamasını kullanacağım.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 1: Visual Studio'da yeni bir proje arayüzü oluşturma Visual Studio'da yeni bir proje arayüzü oluşturun

Sonraki adımda, proje adı ve projenin konumunu girin.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 2: Yeni bir proje oluştururken yapılandırma adımı Yeni proje oluşturma sırasında yapılandırma adımı

Sonra, aşağıdaki çerçeveyi seçin. Bu projede .NET Core 6 kullanacağız.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 3: .Net Framework seçim arayüzü .Net Framework seçimi kullanıcı arayüzü

Uygulama çözümü oluşturduğunda, kod yazabileceğiniz ve uygulamayı oluşturup/çalıştırabileceğiniz program.cs dosyasını açacaktır.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 4: Yeni projedeki boş program.cs dosyası Yeni projede boş program.cs dosyası

Sonraki adımda, kodu test etmek için kutuphaneyi ekleyebiliriz.

2 IronXL Kutuphanesini Yükleme

IronXL Kutuphanesi dört şekilde indirilebilir ve yüklenebilir.

Bunlar su sekildedir:

  • Visual Studio Kullanarak
  • Visual Studio Komut Satırı'nı kullanarak.
  • NuGet web sitesinden doğrudan indirilebilir.
  • IronXL web sitesinden doğrudan indirilebilir.

2.1 Visual Studio Kullanarak

IronXL kutuphanesini NuGet Paket Yöneticisi kullanarak yükleyebiliriz. Önce NuGet Paket yöneticisini açmalı ve ardından gezinti sekmesinde IronXL'i aramalısınız. Sonuçlardan IronXL'i seçin ve yükleyin. Bundan sonra, projemiz IronXL kutuphanesini kullanmaya hazır olacaktır.

Aşağıdaki ekran görüntüsü, Visual Studio'da NuGet Paket Yöneticisini nasıl açabileceğimizi göstermektedir.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 5: Visual Studio'da NuGet Paket Yöneticisine gidin Visual Studio'da NuGet Paket Yöneticisine gidin

Arama sonuçlarında IronXL:

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 6: IronXL kutuphanesini arayın IronXL kutuphanesini arama

2.2 Visual Studio Komut Satırı Kullanarak

Birçok insan işlemleri gerçekleştirmek için bir Konsol kullanmayı sevmektedir. Bu yüzden Konsol ile de yükleyebiliriz. IronXL'i komut satırı aracılığıyla yüklemek için aşağıdaki adımları izleyin.

  • Visual Studio'da Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
  • Paket Yöneticisi Konsol sekmesine şu satırı girin:
Install-Package IronXl.Excel

Şimdi paket mevcut projeye indirilecek/kurulacak ve kullanıma hazır olacaktır.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 7: Konsol üzerinden IronXL paketini yükleme Konsol aracılığıyla IronXL paketini yükle

2.3 NuGet web sitesinden doğrudan indirerek

Üçüncü yol, NuGet paketini doğrudan web sitesinden indirmektir.

  • NuGet resmi IronXL paket sayfasına gidin.
  • Sağ taraftaki menüden indirme paketi seçeneğini seçin.
  • Indirilen paketi çift tıklayın. Otomatik olarak yüklenecektir.
  • Sonra, çözümü yeniden yükleyin ve projede kullanmaya başlayın.

2.4 IronXL web sitesinden doğrudan indirerek

Web sitesinden doğrudan en son paketi indirmek için bağlantıya tıklayın. İndirildikten sonra paketin projeye eklenmesi için aşağıdaki adımları izleyin.

  • Çözüm penceresinden projeyi sağ tıklayın.
  • Ardından, başvuru seçeneklerini seçin ve indirilen başvurunun konumunu gezinin.
  • Sonra, başvuruyu eklemek için tamam'a tıklayın.

3 IronXL kullanarak Datatable'ı Excel Dosyasına Aktar

IronXL, Az adım ile DataTables'ı kolayca Excel dosyalarına aktarmamıza izin verir.

Öncelikle, aşağıdaki kod ekran görüntüsünde olduğu gibi IronXL'nin ad alanını dahil etmeliyiz. Eklendikten sonra, kodumuzda IronXL sınıflarını ve yöntemlerini kullanabiliriz.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 8: Kütüphaneyi kullanmadan önce IronXL ad alanını dahil edin Kütüphaneyi kullanmadan önce IronXL'nin namespace dahil edin

IronXL, Excel dosyaları oluşturmamıza ve bunları çalışma kitabı nesnelerine dönüştürmemize izin verir. Bunları nesnelere dönüştürdükten sonra, çeşitli türde işlemler gerçekleştirebiliriz. Aşağıdaki örnek kodda, bir DataTable'ı Excel çalışma sayfasına dönüştüreceğiz ve ardından bir Excel dosyası oluşturabiliriz.

using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
Imports System
Imports System.Data
Imports IronXL

Public Class ExcelExporter
	''' <summary>
	''' Exports a DataTable to an Excel file using IronXL.
	''' </summary>
	''' <param name="filePath">The file path where the Excel file will be saved.</param>
	Public Shared Sub ExportToExcel(ByVal filePath As String)
		' Creating a DataTable with a single column
		Dim table As New DataTable()
		table.Columns.Add("DataSet_Animal", GetType(String))

		' Adding some rows to the DataTable
		table.Rows.Add("Lion")
		table.Rows.Add("Tiger")
		table.Rows.Add("Cat")
		table.Rows.Add("Goat")
		table.Rows.Add("Panther")
		table.Rows.Add("Fox")
		table.Rows.Add("Cheetah")

		' Creating a new Excel Workbook
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)

		' Accessing the default worksheet
		Dim ws As WorkSheet = wb.DefaultWorkSheet

		' Iterating through the DataTable rows
		Dim rowCount As Integer = 1
		For Each row As DataRow In table.Rows
			' Adding each DataRow's first column value to the corresponding cell in the worksheet
			ws("A" & rowCount).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Saving the workbook to a CSV file at specified file path with ";" as delimiter
		wb.SaveAsCsv(filePath, ";")
	End Sub
End Class
$vbLabelText   $csharpLabel

Yukarıdaki kodda, Veri Tablosunu bir Excel dosyasına aktarıyoruz. İlk olarak, bir DataTable oluşturuyoruz ve ardından sütun başlıkları oluşturuyoruz. Sütunları oluşturduktan sonra, satırları birer birer ekliyoruz. Satırlar eklendikten sonra, WorkBook nesnesini oluşturuyoruz. Nesneyi kullanarak verileri Excel sayfasına ekleyebilir ve ardından verileri konuma kaydedebiliriz. Bir çalışma sayfası oluşturmaya imkan veren WorkSheet nesnesini oluşturuyoruz ve ardından bunu WorkBook nesnesine ekleyebiliriz.

Veri Tablosu değerlerini birer birer okumak için bir foreach döngüsü kullanıyoruz ve ardından değeri çalışma sayfasına ekliyoruz. Tüm değerler çalışma sayfasına eklendikten sonra, bunları SaveAsCsv adlı yöntemle bir CSV dosyasına kaydediyoruz — bir parametre olarak ayırıcı ve dosya adını konumla birlikte geçmemiz gerekiyor. Ayırıcı, gerekliyse görmezden gelebileceğimiz bir isteğe bağlı parametredir.

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 9: Visual Studio'daki tamamlanmış kod Visual Studio'da tamamlanmış kod

Yukarıda, .NET Core 6'da kullandığımız kodun tam ekran görüntüsü bulunmaktadır.

Sonuç:

Veri Tablosundan Excel'e Büyük Verileri C# ile Aktarma, Şekil 10: Dosyayı Microsoft Excel'de açarken sonucu Microsoft Excel'de dosya açıldığında elde edilen sonuç

Yukarıda, çalıştırılan örnek kodun sonucu bulunmaktadır. Ekran görüntüsünde, DataTable'da mevcut olan tüm veriler yeni oluşturulan Excel sayfasına birer birer eklenmiştir.

4 Sonuç

IronXL, en yaygın kullanılan Excel kütüphanelerinden biridir. Başka herhangi bir üçüncü taraf kütüphaneye bağlı değildir. Bağımsızdır ve MS Excel'in yüklenmesi gerekmez. Birden çok platformda çalışır. IronXL için giriş fiyatı $799'dan başlıyor. Ayrıca, ürün desteği ve güncellemeleri için bir yıllık ücret seçeneği sunmaktadır. IronXL, ekstra bir maliyetle telif ücretsiz yeniden dağıtım kapsamı sunmaktadır. Fiyat detayları hakkında daha fazla bilgi için, lisans sayfamızı ziyaret edin.

Sıkça Sorulan Sorular

Bir DataTable'ı C#'te bir Excel dosyasına nasıl aktarabilirim?

IronXL'nin WorkBook ve WorkSheet sınıflarını kullanarak bir DataTable'ı Excel dosyasına aktarabilirsiniz. Bir DataTable oluşturun, satırlarında dolaşın ve IronXL API'sini kullanarak Excel dosyasını verilerle doldurun.

Excel işlemleri için IronXL kullanmanın Interop'a göre avantajları nelerdir?

IronXL, Microsoft Interop'tan daha hızlı ve daha verimlidir, Microsoft Excel'in yüklenmesini gerektirmez ve birden fazla platform ve dosya formatını destekler.

IronXL, Excel dosyaları için hangi dosya formatlarını destekler?

IronXL, XLSX, XLS, CSV, TSV, XLST ve XLSM dahil olmak üzere çeşitli Excel dosya formatlarını destekler, bu da esnek dosya manipülasyonuna olanak tanır.

IronXL, veri aktarımı sırasında Excel formüllerini işleyebilir mi?

Evet, IronXL, bir DataTable'dan Excel dosyasına veri aktarırken karmaşık hesaplamaların korunmasını sağlar.

IronXL ile uyumlu olan işletim sistemleri nelerdir?

IronXL, Windows, Linux ve macOS dahil olmak üzere birden fazla işletim sistemiyle uyumludur, bu da çapraz platform geliştirme imkanı sunar.

IronXL'i kullanmak için Microsoft Excel yüklenmiş olması gerekli mi?

Hayır, IronXL, Microsoft Excel'den bağımsız çalışır, Excel dosyalarıyla çalışmanızı sağlayarak sunucunuzda Excel yüklü olmadan çalışmanıza olanak tanır.

C# projesinde IronXL nasıl yüklenir?

Visual Studio'daki NuGet Paket Yöneticisi ile, komut satırını kullanarak veya doğrudan NuGet veya IronXL web sitelerinden indirerek IronXL'yi yükleyebilirsiniz.

IronXL'nin desteklediği .NET çerçeveleri nelerdir?

IronXL, Konsol, Windows Forms Uygulaması ve Web Uygulaması dahil geniş bir yelpazede .NET çerçevelerini destekler, bu da farklı türdeki projeler için uygundur.

IronXL, Excel dosyalarındaki hücrelerin stil ve formatlamasını destekler mi?

Evet, IronXL, Excel dosyalarının görünümünü geliştirmek için yazı tipleri, renkler ve kenarlıklar gibi çeşitli hücre stil ve formatlama seçenekleri sunar.

IronXL, programatik olarak Excel dosyası oluşturma sürecini nasıl basitleştirir?

IronXL, Excel dosyalarını oluşturma, değiştirme ve dışa aktarma işlemlerini kolaylaştıran kullanıcı dostu bir API sunarak, diğer yöntemlerin gerektirdiği arayüz ve yapılarla ilgili karmaşıklıkları ortadan kaldırır.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara