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

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

Bir Excel elektronik tablosunu programatik olarak değiştirmek zor olabilir, iki ana sebeple. İlk olarak, elektronik tablolarla uğraşırken, kullanıcıların tutarlı bir arayüz ve belge yapısını sürdürmeleri gerekir ve bu her zaman basit değildir. İkincisi, hangi kodun belirli durumlarda çalışacağı her zaman net değildir, özellikle sofistike hesaplamalar söz konusu olduğunda. Bir Excel dosyasını programatik olarak oluşturmanın zor olmasının birçok sebebi vardır. Programcılar önceki adımda Excel belgesindeki verileri okunabilir bir formata dönüştürmek, ardından verileri ayrıştırmak ve geriye doğru ayrıştırmak zorundadır, bu da daha da zordur. Bu sorun için bir çözüm buldum. Size Excel dosyası nasıl oluşturulacağını ve IronXL .NET Excel kütüphanesini kullanarak bir DataTable'ı herhangi bir sorun yaşamadan programatik olarak bir Excel sayfasına nasıl dışa aktaracağınızı öğreteceğim. Başlayalım:

IronXL Özellikleri

  • IronXL, Windows, Linux ve macOS dahil olmak üzere çeşitli İşletim Sistemlerinde çalışır.
  • IronXL neredeyse tüm .NET Çerçevelerini destekler, Konsol, Windows Forms Uygulaması ve Web Uygulaması dahil.
  • IronXL, Excel dosyalarını okumayı kolay ve basit hale getirir.
  • IronXL ile, veri tablolarını yükleyebilir, düzenleyebilir, dışa aktarabilir, ve veri setlerini dışa aktarabiliriz ve XLSX dosyaları, XLS, CSV, TSV, XLST, XLSM dosyaları ve daha fazlası gibi Excel dosya formatlarını okuyabiliriz.
  • IronXL, XLS, CSV, TSV, JSON, XLSX ve diğer uzantılarla dosyaları kaydetmemize ve dışa aktarmamıza olanak tanır.
  • IronXL, Excel formülleri oluşturabilir.
  • Metin, Sayılar, Formüller, Tarihler, Para Birimi, Yüzdeler ve diğer Excel hücre veri formatları IronXL tarafından desteklenir. Öte yandan, çeşitli sıralama seçenekleri de sağlar, örneğin Aralık, Sütunlar ve Satırlar gibi. IronXL'deki hücre stil ayarlamaları, yazı tipi, boyut, arka plan deseni, kenarlık ve hizalama gibi unsurları içerir. Excel dosyasından veri okumak ve dışa aktarmak için IronXL kullanabiliriz. IronXL, sunucunuzda Excel veya Interop yüklü olmasını gerektirmez. IronXL API'si Microsoft Office, Interop ve Excel'den daha hızlı ve kullanımı daha kolaydır.

1 Visual Studio'da Yeni Bir Proje Oluşturma

IronXL kütüphanesini kullanmak için, Visual Studio'da bir .NET projesi oluşturmalıyız. Visual Studio'nun herhangi bir sürümünü kullanabilirsiniz, ancak en son sürüm önerilmektedir. Gereksinimlerinize bağlı olarak Windows Forms gibi bir uygulama veya farklı proje şablonları oluşturabilirsiniz. Basitlik açısından bu öğretici için Konsol Uygulamasını kullanacağım.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 1: Visual Studio'da yeni bir proje UI oluşturma Visual Studio'da yeni bir proje arayüzü oluşturun

Ardından, proje adını ve projenin konumunu girin.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 2: Yeni bir proje oluşturma adımındaki yapılandırma Yeni bir proje oluştururken yapılandırma adımı

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

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 3: .NET Framework seçim UI'si .NET Framework seçim arayüzü

Uygulama çözümü oluşturduğunda, kodu girebileceğiniz ve uygulamayı derleyip çalıştırabileceğiniz program.cs dosyasını açacaktır.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 4: Yeni projenin boş program.cs dosyası Yeni projede boş program.cs dosyası

Sonrasında, kodu test etmek için kütüphaneyi ekleyebiliriz.

2 IronXL Kütüphanesini Kurun

IronXL kütüphanesi dört şekilde indirilebilir ve kurulabilir.

Bunlar şunlardır:

  • Visual Studio Kullanarak
  • Visual Studio Komut Satırını kullanma.
  • NuGet web sitesinden doğrudan indirin.
  • IronXL web sitesinden doğrudan indirin.

2.1 Visual Studio Kullanarak

IronXL kütüphanesini NuGet Paket Yöneticisi kullanarak kurabiliriz. Öncelikle NuGet Paket yöneticisini açmalı ve ardından tarama sekmesinde IronXL'yi aramalısınız. IronXL'yi arama sonuçlarından seçip kurun. Bundan sonra, projemiz IronXL kütüphanesi kullanıma hazır olacak.

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

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 5: Visual Studio'da NuGet Paket Yöneticisi'ne gidin Visual Studio'da NuGet Paket Yöneticisine Gitmek

Sonuçlarda IronXL:

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 6: IronXL kütüphanesini arayın IronXL kütüphanesi için arama yapın

2.2 Visual Studio Komut Satırını Kullanarak

Birçok kişi işlemleri gerçekleştirmek için bir Konsol kullanmayı sever. Dolayısıyla, Konsol ile de kurabiliriz. Aşağıdaki adımları izleyerek IronXL'i komut satırı aracılığıyla kurun.

  • Visual Studio'da Tools-> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu seçeneklerine gidin.
  • Paket Yöneticisi Konsolu sekmesine aşağıdaki satırı girin:
Install-Package IronXL.Excel

Artık paket indirilecek/yüklenecek ve mevcut projeye hazır hale gelecek.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 7: Console üzerinden IronXL paketini yükleyin Konsol ile IronXL paketini kur

2.3 NuGet web sitesinden doğrudan indirin

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

  • NuGet resmi IronXL paket sayfasına gidin.
  • Sağdaki menüden indirme paketi seçeneğini seçin.
  • İndirilen paketi çift tıklayın. Otomatik olarak yüklenecek.
  • Daha sonra çözümü yeniden yükleyin ve projede kullanmaya başlayın.

2.4 IronXL web sitesinden doğrudan indirin

Web sitesinden doğrudan en son paketi indirin. İndirildikten sonra, paketi projeye eklemek için aşağıdaki adımları izleyin.

  • Çözüm penceresinden projeye sağ tıklayın.
  • Sonra seçenek referanslarını seçin ve indirilen referansın konumunu tarayın.
  • Ardından, referansı eklemek için tamam'a tıklayın.

3 IronXL Kullanarak Veritabanından Excel Dosyasına Dışa Aktarma

IronXL, DataTables'i Excel dosyalarına kolayca dışa aktarmamıza olanak tanır, bu işlem az sayıda adım gerektirir.

İlk olarak, IronXL'nin isim alanını aşağıdaki kodun ekran görüntüsünde olduğu gibi dahil etmemiz gerekir. Kodu ekledikten sonra, IronXL sınıf ve metodlarını kodumuzda kullanabiliriz.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 8: Kütüphaneyi kullanmadan önce IronXL namespacesini dahil edin Kütüphaneyi kullanmadan önce IronXL namespace dahil edin

IronXL, Excel dosyaları oluşturmamıza ve bunları çalışma kitabı nesnelerine dönüştürmemize olanak tanır. Nesnelere dönüştürdükten sonra, çeşitli türlerde operasyonlar 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, DataTable'ı bir Excel dosyasına aktarıyoruz. İlk olarak, bir DataTable oluşturuyoruz, ardından sütun başlıklarını yaratıyoruz. Sütunları oluşturduktan sonra, satırları teker teker ekliyoruz. Satırlar eklendiğinde, WorkBook nesnesini oluşturuyoruz. Bu nesneyi kullanarak verileri Excel sayfasına ekleyebilir ve ardından verileri konuma kaydedebiliriz. Bir çalışma sayfası oluşturulmasına olanak tanıyan WorkSheet nesnesini oluşturuyoruz ve ardından bunu WorkBook nesnesine ekleyebiliriz.

DataTable 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, SaveAsCsv adlı yöntemle bunları bir CSV dosyasına kaydediyoruz — ayırıcı ve dosya adı ile konumu bir parametre olarak geçirmemiz gerekiyor. Ayırıcı, gereken bir parametre olmayan ve gerekirse göz ardı edilebilecek bir seçenektir.

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 9: Visual Studio'daki tamamlanmış kod Visual Studio'daki tamamlanmış kod

Yukarıda adı geçen, .NET Core 6 üzerinde kullandığımız kodun tam ekran görüntüsüdür.

Sonuç:

Datatable'dan Excel'e Büyük Veri Nasıl Aktarılır, Şekil 10: Dosya Microsoft Excel'de açıldığında sonuç Microsoft Excel'de dosyayı açarken elde edilen sonuç

Yukarıda, yürütülen kod örneğinin sonucunu gösterir. Ekran görüntüsünde, DataTable'da mevcut olan tüm veriler tek tek yeni oluşturulan Excel sayfasına 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 kurulmasına gerek yoktur. Birden fazla platformda çalışır. IronXL'nin tanıtım fiyatı $999'den başlar. Ayrıca, ürün desteği ve güncellemeler için bir yıllık ücret seçeneği sunar. IronXL, ek bir maliyetle telif ücretsiz yeniden dağıtım kapsamı sağlar. Fiyat detayları için lisanslama sayfamızı ziyaret edin.

Sıkça Sorulan Sorular

C# dilinde bir DataTable'ı 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ını yineleyin ve IronXL'nin API'sini kullanarak veriyi Excel dosyasına doldurun.

IronXL'yi Excel işlemleri için Interop üzerinde kullanmanın faydaları nelerdir?

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

IronXL'nin Excel dosyaları için desteklediği dosya formatları nelerdir?

IronXL, XLSX, XLS, CSV, TSV, XLST ve XLSM dahil çeşitli Excel dosya formatlarını destekler, çeşitli dosya manipülasyonuna izin verir.

IronXL, verileri ihraç ederken Excel formüllerini işleyebilir mi?

Evet, IronXL Excel formüllerini işleyebilir ve bir DataTable'den Excel dosyasına veriler ihraç edildiğinde karmaşık hesaplamaların korunmasını sağlar.

IronXL hangi işletim sistemleri ile uyumludur?

IronXL, çapraz platform geliştirme sağlayarak Windows, Linux ve macOS dahil birden fazla işletim sistemiyle uyumludur.

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

Hayır, IronXL, Microsoft Excel'den bağımsız olarak çalışır ve sunucunuzda Excel yüklü olmadan Excel dosyalarını çalıştırmanıza izin verir.

C# projesinde kullanım için IronXL nasıl yükleyebilirim?

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

IronXL hangi .NET çerçevelerini destekler?

IronXL, birden fazla proje türü için esnek hale getiren Konsol, Windows Forms Uygulaması ve Web Uygulaması dahil geniş bir .NET çerçevesi yelpazesini destekler.

IronXL hücreleri Excel dosyalarında biçimlendirme ve stil oluşturmayı destekliyor mu?

Evet, IronXL, Excel dosyalarının görünümünü artırmak için yazı tipi stilleri, renkler ve kenarlıklar belirleme gibi çeşitli hücre stil ve biçimlendirme seçenekleri sunar.

IronXL, Excel dosyalarını programatik olarak oluşturmayı nasıl kolaylaştırıyor?

IronXL, diğer yöntemler tarafından gereken arayüz ve yapıların idaresi karmaşıklarını ortadan kaldırarak, Excel dosyalarını oluşturma, değiştirme ve ihraç etme için kullanımı kolay bir API sağlar.

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ı...

Daha Fazla Oku

Iron Destek Ekibi

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