Altbilgi içeriğine atla
IRONXL KULLANARAK
C# ile Bir Veriseti CSV'ye Nasıl Dönüştürülür | IronXL

C#'ta Veri Setini CSV'ye Nasıl Dönüştürülür

Aşağıdaki makale, bir C# veri kümesinin bir CSV dosyasına nasıl dönüştürüleceğini gösterecektir.

IronXL, CSV formatı veya Excel dosyalarıyla çalışmak için harika bir çözümdür. IronXL, geliştirme için ücretsizdir, kullanımı kolaydır ve herhangi bir türdeki elektronik tablo ile çalışmak için geniş işlevsellikler sağlar. Güvenlidir ve yüksek performans sağlar. İlerlemeye başlamadan önce, IronXL hakkında kısa bir tanıtım yapalım.

IronXL

IronXL, C# geliştiricilerinin, .NET uygulamaları ve web sitelerinde Excel (ve diğer elektronik tablo dosyalarını) okuyup, oluşturup ve düzenlemelerine olanak tanıyan bir Iron Software kütüphanesidir.

IronXL, C# ve .NET'te Excel ve diğer elektronik tablo dosyalarıyla çalışmanın hızlı ve kolay bir yoludur. IronXL, Office Excel Interop gerektirmeksizin .NET Framework, .NET Core ve Azure ile çok iyi çalışır. IronXL, Microsoft Office'in kurulumunu gerektirmez veya başka bu tür bağımlılıkları içermez.

Bir veri kümesi için bir CSV dosyası oluşturma ve kodunu yazma işlemlerine başlayalım.

Yeni Bir Visual Studio Projesi Oluşturun

Visual Studio IDE'yi açın; Visual Studio'nun en son sürümü önerilir, ancak tercih ettiğiniz herhangi bir sürümü kullanabilirsiniz. Yeni bir proje oluşturma adımlarının sürüme göre farklılık gösterebileceğini unutmayın.

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 1: Visual Studio'nun başlangıç penceresi Visual Studio'nun başlangıç penceresi

Yeni bir Proje Oluştur'a tıklayın. Aşağıda gösterildiği gibi yeni bir pencere görünecektir.

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 2: Visual Studio'da yeni bir proje oluşturma Visual Studio'da yeni proje oluşturun

Listeden tercih ettiğiniz proje şablonunu seçin. İleri butonuna tıklayın ve aşağıda gösterilen yeni bir pencere açılacaktır.

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 3: Yeni oluşturulan projeyi yapılandırma Yeni oluşturulan projeyi yapılandırma

Projenizin adını verin, konumunu seçin ve İleri butonuna basın. Aşağıda gösterildiği gibi yeni bir pencere görünecektir.

C#'te Veri Kümesinin CSV'ye Dönüştürülmesi, Şekil 4: Bir .NET Framework sürümü seçin .NET Framework sürümünü seç

Hedef .NET Framework'ü seçin. IronXL her .NET Framework'ü desteklediğinden, ihtiyaçlarınıza en uygun olanı seçebilirsiniz. Bu eğitimde .NET 7 kullanılacaktır. Oluştur butonuna tıklayın ve aşağıda gösterildiği gibi yeni bir proje oluşturulacaktır.

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 5: Visual Studio'da yeni bir Konsol Uygulaması Visual Studio'da yeni bir Konsol Uygulaması

Şimdi bu uygulamada kullanmak için IronXL NuGet Paketini yükleyin.

IronXL Yükle

NuGet Paket Yöneticisi Konsolunu açın ve aşağıdaki komutu girin.

Install-Package IronXL.Excel

NuGet Paketi aşağıda gösterildiği gibi yüklenecek ve kullanıma hazır olacaktır.

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 6: IronXL paketi ve onun paket bağımlılıklarının yüklenmesi IronXL paketinin ve paket bağımlılıklarının kurulumu

Şimdi, C#'ta bir veri kümesini bir CSV dosyasına dönüştürmek için biraz kod yazalım.

Bu örnek, bir SQL sunucu veritabanından veri getirecektir. SQL DB'den veri kümesini aldıktan sonra, bu giriş verilerini kullanarak bir CSV dosyası oluşturacağız.

Veri Tablosu Oluştur

İlk adım, SQL'den veri doldurmaktır, ancak tercih ettiğiniz herhangi bir veri kaynağını kullanabilirsiniz.

Bu eğitimde aşağıdaki veri kullanılmaktadır:

C#'te Veri Kümesini CSV'ye Dönüştürme, Şekil 7: Örnek verilerle yeni bir veritabanı oluşturma Örnek veriyle yeni bir veritabanı oluşturma

Örnek veriyi oluşturmak için SQL komut dosyası şöyledir:

USE Test_DB;

CREATE TABLE STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');

Veri tablosunu bir CSV dosyasına aktarmak için kullanılan C# kodu aşağıdadır.

using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}
using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports IronXL

Friend Class Program
	' Method to retrieve data from SQL database and return as DataTable
	Public Shared Function GetData() As DataTable
		' Define connection string (modify accordingly for your local server)
		Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
		Dim query As String = "SELECT * FROM STUDENT_DATA"

		Try
			' Create SQL connection
			Using conn As New SqlConnection(connString)
				' Create SQL command
				Dim cmd As New SqlCommand(query, conn)
				conn.Open()
				' Create data adapter
				Using da As New SqlDataAdapter(cmd)
					' Query the database and return the result to a data table
					Dim dt As New DataTable()
					da.Fill(dt)
					Return dt
				End Using
			End Using
		Catch ex As Exception
			Console.WriteLine($"An error occurred: {ex.Message}")
			Throw
		End Try
	End Function

	Shared Sub Main(ByVal args() As String)
		' Retrieve data and store it in a DataTable
		Dim table As DataTable = GetData()

		' Create a new Workbook
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		wb.Metadata.Author = "JOHN"

		' Use the default worksheet
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable
		For Each row As DataRow In table.Rows
			ws($"A{rowCount}").Value = row(0).ToString()
			ws($"B{rowCount}").Value = row(1).ToString()
			ws($"C{rowCount}").Value = row(2).ToString()
			ws($"D{rowCount}").Value = row(3).ToString()
			ws($"E{rowCount}").Value = row(4).ToString()
			rowCount += 1
		Next row

		' Save the workbook as a CSV file
		wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

Kod Açıklaması

  • Metod GetData(), bir SQL Sunucu veritabanından verileri alır ve bunları bir DataTable olarak döndürür.

  • Main metodunda, IronXL kullanılarak bir WorkBook oluşturulur ve ardından veriler bir WorkSheet'ye doldurulur.

  • Bir foreach döngüsü, DataTable'in satırları üzerinde iterasyon yaparak her değeri WorkSheet'ye yeni bir satır olarak ekler.

  • Son olarak, CSV dosyası IronXL tarafından sağlanan SaveAsCsv fonksiyonu kullanılarak kaydedilir.

Çıktı

Bu program tarafından üretilen CSV dosyası aşağıdaki gibidir:

C#'te Veri Kümesinin CSV'ye Dönüştürülmesi, Şekil 8: CSV çıktı dosyası CSV çıkış dosyası

CSV dosyasının doğru şekilde oluşturulduğu ve verilen girişle uyumlu olduğu açıktır.

Özet

Bu makale, bir veri kümesinden C#'ta CSV dosyası oluşturmayı gösterdi. Kütüphane ayrıca C# kullanarak CSV dosyalarını okuma yeteneğine de sahiptir. SQL Server veri tabanındaki veri kümesi doldurulur ve üç adımda bir CSV dosyası oluşturur:

  1. SQL Server'dan veri alın.
  2. Bir veri tablosuna veri doldurun.
  3. O veri tablosundan bir CSV dosyası oluşturun.

Yukarıda gösterildiği gibi, IronXL kullanarak .NET 7'de bir CSV dosyası oluşturmak çok kolaydır. Programın performansı, .NET 7 ve IronXL ile yazıldığı için olağanüstüdür. IronXL, Excel dosyaları oluşturma, okuma ve işleme gibi diğer yararlı özellikler de sunar. Daha fazla ayrıntı için lütfen resmi belgeler sayfasını ziyaret edin.

Ayrıca, IronPDF geliştiricilere PDF belgelerini resimlere dönüştürme ve bir PDF'den metin ve içerik çıkarma yöntemlerini sunar. Ayrıca IronPDF, PDF'lerde grafikleri render etme, barkod ekleme, şifrelerle güvenliği artırma programatik olarak da yapabilir.

IronXL'in ücretsiz sürümü, geliştirme amaçlı olarak kullanılmaktadır. Bir uygulamayı üretim ortamına dağıtmak için lütfen ücretsiz bir deneme sürümünü veya ticari lisansını edinin. IronXL, beş kütüphaneden oluşan Iron Suite'in bir parçasıdır:

  1. Bugün incelenen IronXL.
  2. PDF dosyaları oluşturma, okuma ve işleme için IronPDF
  3. Görüntülerden metin çıkarmak için IronOCR
  4. Barkod okuma ve oluşturma için IronBarcode
  5. Web sitelerinden yapısal veri çıkarmak için IronWebScraper.

Bu ürünlerin hepsini bir arada satın alırsanız, iki ürün fiyatına alabilirsiniz.

Sıkça Sorulan Sorular

C# veri kümesini CSV dosyasına nasıl dönüştürebilirim?

C# veri kümesini CSV dosyasına dönüştürmek için IronXL kullanabilirsiniz. İlk olarak, verileri SQL Server veritabanı gibi bir kaynaktan alın ve bir VeriTablosuna doldurun. Ardından, IronXL kullanarak VeriTablosunu CSV dosyasına dışa aktarın.

.NET'te Excel dosyalarıyla çalışmak için Microsoft Office gerekli mi?

Hayır, IronXL kullanırken .NET'te Excel dosyalarıyla çalışmak için Microsoft Office gerekmez. IronXL, Office veya Interop bağımlılıklarına ihtiyaç duymadan bağımsız olarak çalışır.

.NET'te elektronik tabloları işlemek için IronXL'yi en iyi şekilde nasıl kurarım?

.NET'teki elektronik tabloları işlemek için IronXL'yi kurmanın en iyi yolu Visual Studio'daki NuGet Paket Yöneticisi Konsolunu kullanmaktır. Şu komutu kullanın: Install-Package IronXL.Excel.

IronXL, elektronik tablolarla çalışırken üretkenliği nasıl artırır?

IronXL, geliştiricilerin .NET uygulamaları içinde hızla ve kolaylıkla Excel ve CSV dosyalarını okumasını, oluşturmasını ve düzenlemesini sağlar, ek yazılım kurulumlarına veya bağımlılıklarına ihtiyaç duymadan.

IronXL herhangi bir veri kaynağından CSV dosyaları oluşturabilir mi?

Evet, IronXL kullanarak herhangi bir veri kaynağından CSV dosyaları oluşturabilirsiniz. Makale, bir SQL Server veritabanından VeriTablosunu doldurarak ve ardından IronXL kullanılarak CSV'ye dışa aktarılarak bunu gösterir.

IronXL, en son .NET sürümleri ile uyumlu mu?

Evet, IronXL en son .NET sürümleri, .NET 7 dahil, ile uyumludur ve bu platformlarda geliştirilmiş performans faydaları sunar.

Elektronik tablo görevleri için IronXL kullanmanın temel avantajları nelerdir?

IronXL kullanmanın temel avantajları arasında, Microsoft Office olmadan elektronik tablo işlemek, tüm .NET sürümlerini desteklemek ve veri kümelerini hızlı ve kolay bir şekilde CSV dosyalarına dönüştürmek yer alır.

Iron Suite nedir ve neyi içerir?

Iron Suite, IronXL ile Excel dosyaları, IronPDF ile PDF'ler, IronOCR ile görüntülerden metin çıkarımı, IronBarcode ile barkodlar ve IronWebScraper ile web veri çıkartımını içeren bir kütüphane koleksiyonudur.

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