Altbilgi içeriğine atla
IRONXL KULLANARAK

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

Aşağıdaki makale, bir C# veri setini CSV dosyasına nasıl dönüştüreceğinizi gösterecektir.

IronXL, her iki formatta da olsa, CSV formatında veya Excel dosyalarıyla çalışma için harika bir çözümdür. IronXL, geliştirme için ücretsizdir, kullanımı kolaydır ve her türden elektronik tabloyla çalışmak için kapsamlı işlevler sunar. Güvenlidir ve yüksek performans sağlar. İlerlemeden önce, IronXL'ye kısa bir giriş yapalım.

IronXL

IronXL, C# geliştiricilerinin Excel (ve diğer Elektronik Tablo dosyalarını) .NET uygulamalarında ve web sitelerinde okumasını, üretmesini ve düzenlemesini sağlayan bir Iron Software kütüphanesidir.

IronXL, C# ve .NET'te Excel ve diğer excel dosyaları ile çalışmak için hızlı ve kolay bir yoldur. IronXL, Office Excel Interop'a ihtiyaç duymadan .NET Framework, .NET Core ve Azure ile iyi çalışır. IronXL ayrıca Microsoft Office'i yüklemeyi veya başka bir bağımlılığı içermez.

Bir veri kümesi için bir CSV dosyası oluşturma ve yazma kodunu yazmaya 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 tercihinize göre herhangi birini kullanabilirsiniz. Yeni bir proje oluşturma adımlarının sürümden sürüme farklılık gösterebileceğini lütfen unutmayın.

C#'te Veri Setini 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 açılacaktır.

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

Listeden tercih ettiğiniz proje şablonunu seçin. İleri düğmesine tıklayın, ve aşağıda gösterildiği gibi yeni bir pencere açılacaktır.

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

Projenize isim verin, konumunu seçin ve İleri düğmesine basın. Aşağıda gösterildiği gibi yeni bir pencere açılacaktır.

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

Hedef .NET Framework'ünüzü seçin. IronXL her .NET Framework'ü desteklediği için ihtiyaçlarınıza uygun herhangi bir .NET Framework'ü seçebilirsiniz. Bu öğretici .NET 7 kullanacak. Oluştur düğmesine tıklayın, ve aşağıda gösterildiği gibi yeni bir proje oluşturulacaktır.

C#'te Veri Setini 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 Paketi'ni yükleyin.

IronXL'yi Yükleyin

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

Install-Package IronXl.Excel

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

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

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

Bu örnek, bir SQL sunucu veritabanından veri alacak. SQL DB'den veri kümesi elde edildikten sonra, bu giriş verilerini kullanarak bir CSV dosyası oluşturacağız.

Veri Tablosunu Oluşturun

İlk adım, SQL'den veri doldurmak, ancak istediğiniz veri kaynağını kullanabilirsiniz.

Bu öğretici aşağıdaki verileri kullanmaktadır:

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

Örnek veriyi oluşturmak için SQL betiği:

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');

Aşağıdaki C# kodu, veri tablosunu bir CSV dosyasına aktarmak için kullanılı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ı

  • Yöntem GetData() bir SQL Server veritabanından verileri alır ve bunları DataTable olarak döndürür.

  • Main yönteminde, IronXL kullanılarak bir WorkBook oluşturulur ve veriler WorkSheet içine doldurulur.

  • Bir foreach döngüsü, DataTable satırları arasında gezinir, her değeri WorkSheet yeni bir satıra ekler.

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

Çıktı

Bu programın ürettiği CSV dosyası aşağıdaki gibidir:

C#'te Veri Setini CSV'ye Dönüştürme, Şekil 8: CSV çıktı dosyası CSV çıktı dosyası

CSV dosyasının düzgün bir şekilde oluşturulduğu ve sağlanan girişle uyumlu olduğu açıktır.

Özet

Bu makale, bir veri kümesinden C#'ta nasıl CSV dosyası oluşturulacağını gösterdi. Kütüphane ayrıca C# kullanarak CSV dosyalarını okuyabilir. SQL Server veritabanından alınan veri kümesi üç adımda CSV dosyası yaratır:

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

.NET 7'de IronXL kullanarak bir CSV dosyası oluşturmak, yukarıda gösterildiği gibi çok kolaydır. IronXL ile .NET 7'de yazıldığı için programın performansı olağanüstüdür. IronXL, Excel dosyalarını oluşturmak, okumak ve yönetmek gibi diğer kullanışlı özellikler sağlar. Daha fazla ayrıntı için lütfen resmi belgeleri ziyaret edin.

Ek olarak, IronPDF geliştiricilere PDF belgelerini resimlere dönüştürme ve bir PDF'den metin ve içerik çıkarma yöntemleri sunar. Ek olarak, IronPDF ayrıca programatik olarak PDF'lerde grafikler oluşturabilir, barkodlar ekleyebilir, şifrelerle güvenliği artırabilir.

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

  1. Bugün incelenen IronXL.
  2. PDF dosyaları oluşturma, okuma ve yönetme için IronPDF
  3. Resimlerden metin çıkarma işlemleri için IronOCR
  4. Barkod okuma ve oluşturma için IronBarcode
  5. Web sitelerinden yapısal veri çıkartma için IronWebScraper.

Bu ürünlerin tümünü birlikte satın alırsanız, iki tanesinin fiyatıyla alabilirsiniz.

Sıkça Sorulan Sorular

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

IronXL kullanarak bir C# veri kümesini CSV dosyasına dönüştürebilirsiniz. Öncelikle, bir kaynak, örneğin bir SQL Sunucu veritabanından veri alın ve bir VeriTablosuna doldurun. Daha sonra, IronXL kullanarak VeriTablosunu bir CSV dosyasına dışa aktarın.

.NET'te Excel dosyaları ile çalışmak için Microsoft Office'e ihtiyaçım var mı?

Hayır, .NET'te IronXL kullanırken Excel dosyaları ile çalışmak için Microsoft Office'e ihtiyaçınız yok. IronXL, Office veya Interop bağımlılıkları gerektirmeden bağımsız olarak çalışır.

IronXL'i .NET'te hesap tablolarını işlemek için kurmanın en iyi yolu nedir?

IronXL'i hesap tablolarını işlemek için kurmanın en iyi yolu, Visual Studio'daki NuGet Paket Yöneticisi Konsolu'dur. Şu komutu kullanın: Install-Package IronXl.Excel.

IronXL hesap tabloları ile çalışırken verimliliği nasıl artırır?

IronXL, geliştiricilerin .NET uygulamaları içinde ek yazılım kurulumları veya bağımlılıklar olmadan hızlı ve kolay bir şekilde Excel ve CSV dosyalarını okumasına, oluşturmasına ve düzenlemesine olanak tanıyarak verimliliği artırır.

IronXL'yi herhangi bir veri kaynağından CSV dosyaları oluşturmak için kullanabilir miyim?

Evet, IronXL'yi herhangi bir veri kaynağından CSV dosyaları oluşturmak için kullanabilirsiniz. Makale, bir SQL Server veritabanı kullanarak bir DataTable doldurup, ardından IronXL kullanarak CSV'ye aktarmayı göstermektedir.

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

Evet, IronXL en son .NET sürümleriyle, .NET 7 de dahil olmak üzere uyumludur ve bu platformlarda gelişmiş performans avantajları sunar.

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

IronXL kullanmanın önemli avantajları arasında, Microsoft Office olmadan elektronik tablolarla başa çıkabilme yeteneği, tüm .NET sürümlerine destek sağlaması ve veri kümelerini verimli bir şekilde CSV dosyalarına dönüştürme kolaylığı yer almaktadır.

Iron Suite nedir ve içeriğinde neler bulunmaktadır?

Iron Suite, Excel dosyaları için IronXL, PDF'ler için IronPDF, görüntülerden metin çıkarımı için IronOCR, barkodlar için IronBarcode ve web verisi çıkarımı için IronWebScraper'ı içeren bir kütüphaneler topluluğudur.

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