Altbilgi içeriğine atla
IRONXL KULLANARAK

C#'ta CSV Dosyasına Veri Nasıl Yazılır

Bu makale, IronXL kullanarak bir CSV dosyası yazmanın nasıl yapılacağını inceleyecektir.

IronXL Kütüphanesi

IronXL, C# uygulamalarında hesap tablosu dosyaları oluşturma, okuma ve düzenleme için kapsamlı işlevsellik sunan bir .NET Excel kütüphanesidir. Performans ve çıktı doğruluğu açısından öne çıkar. XLS, XLSX, XLSM, CSV ve TSV gibi çeşitli hesap tablosu dosya formatlarını destekler. Ayrıca, Excel dosyalarından verileri CSV, JSON, HTML, Binary, Byte Array, DataSet veya DataTable gibi formatlara kaydetmenizi veya dışa aktarmanızı sağlar.

IronXL ile, geliştiriciler çalışma sayfaları ve hücre aralıkları ile sorunsuz bir şekilde çalışabilir, veri manipülasyonuna zarif bir yaklaşım sunar. Formüllerin kolay düzenlenmesine izin verir ve bir sayfa içindeki formüllerin yeniden hesaplanmasını kolaylaştırır. Verileri sıralamak aralık, sütun veya satıra göre basittir. Panelleri dondurarak, satır/sütunlarını otomatik boyutlandırarak ve satır/sütun ekleyip kaldırarak düzenleri de değiştirebilirsiniz.

IronXL, Excel dosyalarını kullanıcı şifreleriyle koruma ve düzenleme izinleri ayarlayabilme imkanı sunar. Ayrıca, Excel çalışma sayfalarından resim ekleme, kaldırma ve çıkartma özellikleri sağlar. Kütüphane, çeşitli hücre veri formatlarını destekleyen geniş bir Excel fonksiyonları yelpazesi içerir. Bu, IronXL'nin Excel dosyalarıyla çalışmak için en sezgisel API'lerden biri yapar.

IronXL'nin önemli bir avantajı, makinede Microsoft Excel veya Office Interop bağımlılıklarını kurmayı gerektirmemesidir. Çoklu platformlarda çalışan ve .NET versiyonları 7, 6 ve 5 ile uyumlu, kendi kendine yeten bir çözümdür. Ayrıca .NET Core 2 ve 3 ile standart 2 sürümünü de destekler. Excel hesap çizelgeleriyle çalışmak için IronXL, .NET Framework 4.5 ve sonraki sürümlerle uyumludur.

Konsol Uygulaması Oluşturma

Visual Studio'nun en son sürümünü kullanarak bir uygulama oluşturmanız önerilir. Visual Studio, C# geliştirme için resmi IDE'dir ve onu kurduğunuzdan emin olmalısınız. Kurulu değilse, Microsoft Visual Studio web sitesinden indirebilirsiniz.

Aşağıdaki adımlar "DemoApp" adlı yeni bir proje oluşturacak.

  1. Visual Studio'yu açın ve "Yeni Proje Oluştur" üzerine tıklayın.

C#'de CSV Dosyasına Veri Yazma, Şekil 1: Visual Studio'yu Aç Visual Studio'yu Aç

  1. Konsol Uygulamasını seçin ve 'İleri'ye tıklayın.

C#'de CSV Dosyasına Veri Yazma, Şekil 2: Visual Studio'da yeni bir proje oluşturma Visual Studio'da yeni bir proje oluştur

  1. Projenin adını belirleyin.

C#'de CSV Dosyasına Veri Yazma, Şekil 3: Yeni projenizi yapılandırın Yeni projenizi yapılandırın

  1. .NET sürümünü seçin. Kararlı sürüm .NET 6.0'ı seçin.

C#'de CSV Dosyasına Veri Yazma, Şekil 4: .NET Framework seçimi .NET Framework seçimi

IronXL Kütüphanesini Yükleyin

Proje oluşturulduktan sonra, IronXL kütüphanesinin projeye kurulması gerekmektedir. Bunu yüklemek için şu adımları izleyin.

  1. Çözüm Gezgini veya araçlar menüsünden NuGet Paket Yöneticisi'ni açın.

C#'de CSV Dosyasına Veri Yazma, Şekil 5: NuGet Paket Yöneticisine Git NuGet Paket Yöneticisine Git

  1. IronXL Kütüphanesini aratın ve mevcut projeyi seçin. Yükleme tıklayın.

C#'de CSV Dosyasına Veri Yazma, Şekil 6: NuGet Paket Yöneticisi UI'de IronXL paketini arayın ve kurun NuGet Paket Yöneticisi UI'ında IronXL paketini arayın ve yükleyin

Program.cs dosyasının üst kısmına aşağıdaki namespace'i ekleyin:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Create a New Workbook in C

IronXL, boş bir çalışma kitabı oluşturma imkanı sağlar. Bir çalışma kitabı, birden fazla çalışma sayfası içeren bir hesap tablosudur. Veriler hücrelerde depolanır. CSV de bir hesap tablosu gibi görünür ancak bunun yerine bir CSV dosya uzantısı ile gelir.

// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

Şimdi, WorkBook içinde bir sayfa oluşturalım. Çalışma kitabında bir çalışma sayfası oluşturmanın birden çok yolu vardır.

// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds a default sheet to the workbook
Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet

' Creates a worksheet with the name "Sheet1"
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

Mevcut çalışma kitabınıza daha fazla sayfa eklemek istiyorsanız, CreateWorkSheet yöntemini kullanın.

Not: CSV dosyası zaten mevcutsa, WorkBook.LoadCSV yöntemini kullanabilirsiniz. Mevcut bir CSV dosyasını yüklemek için bu kod örneği sayfasını görebilirsiniz.

Verileri WorkSheet'a Yaz

IronXL kullanarak CSV dosyaları yazmak kolaydır. CSV'lere veri yazmak için Excel özellikleri sunar. Belirtilen konumlardaki değerlere eklemek için hücre referansları kullanılabilir. Burada, foreach döngüsü kullanarak birkaç çalışanın kayıtlarını ekleyeceğim.

// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }

' Starting row for data entry
Dim i As Integer = 2

' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"

' Populate each row with employee data
For Each employee In employeeNames
	' Set values for ID, Name, and Salary
	sheet("A" & i).Value = i
	sheet("B" & i).Value = employee
	sheet("C" & i).Value = i * 1000
	i += 1
Next employee
$vbLabelText   $csharpLabel

Yukarıdaki kod örneğinde, bir employeeNames dizisi oluşturulur ve ilk satır başlıklar ile ayarlanır: ID, İsim, Maaş. i değişkeni de 2 değeri ile başlatılır ve bu, başlıkların altına 2. satırdan itibaren kayıtları girecektir. Liste içindeki her bir çalışanı işleyen foreach döngüsü, ID ve maaş değerleriyle mevcut satıra ekler. Döngü tamamlanmadan önce, i bir sonraki kayıt için bir sonraki satıra geçmek üzere artırılır.

Verileri Bir CSV Dosyasına Kaydet

Son adım CSV dosyasını kaydetmektir. IronXL, çalışma kitabını CSV dosyası olarak kaydetmek için SaveAsCsv yöntemini sağlar. Bu yöntemin ilk parametresi CSV dosya adı, ikincisi ise ayracı belirtir.

// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

Tam kod aşağıdaki gibidir:

using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Create a new workbook and worksheet
		Dim workBook As WorkBook = WorkBook.Create()
		Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Initialize an array of employee names
		Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }

		' Starting row for data entry
		Dim i As Integer = 2

		' Setting header titles for the columns
		sheet("A1").Value = "ID"
		sheet("B1").Value = "Name"
		sheet("C1").Value = "Salary"

		' Populate each row with employee data
		For Each employee In employeeNames
			' Set values for ID, Name, and Salary
			sheet("A" & i).Value = i
			sheet("B" & i).Value = employee
			sheet("C" & i).Value = i * 1000
			i += 1
		Next employee

		' Save the modified workbook as a CSV file with a specified delimiter
		workBook.SaveAsCsv("sample.csv", ",")
	End Sub
End Class
$vbLabelText   $csharpLabel

Çıktı

C#'de CSV Dosyasına Veri Yazma, Şekil 7: Çıktı CSV dosyası Çıkış CSV Dosyası

Özet

Bu makale, C#'da IronXL kullanarak basit bir CSV dosyası yazma yaklaşımını sunar. IronXL ayrıca mevcut CSV dosyalarıyla herhangi bir sorun yaşamadan çalışabilme imkanı sunar. Ayrıca CSV dosyaları yazmanıza, yeni Excel dosyaları oluşturmanıza ve onlara basit bir sözdizimi kullanarak veri yazmanıza olanak tanır. IronXL, Microsoft Office yüklü olmadan Excel dosyalarını okuyup yazmak için de kullanılabilir. Farklı hesap tablosu formatları arasında dönüşüm için bu kod örneği sayfasını görebilirsiniz.

IronXL, geliştirme için ücretsizdir ve ticari kullanım için lisanslanabilir. Ticari kullanım için IronXL ücretsiz deneme sürümünü de deneyebilirsiniz.

Sıkça Sorulan Sorular

C#'ta bir CSV dosyasına nasıl veri yazabilirim?

IronXL'in `SaveAsCsv` yöntemini kullanarak C#'ta bir CSV dosyasına veri dışa aktarabilirsiniz. Önce, bir çalışma kitabı ve çalışma sayfası oluşturun, hücrelere veri yazın ve ardından `workBook.SaveAsCsv("filename.csv", ",");` kullanarak veriyi CSV dosyası olarak kaydedin.

C#'ta CSV dosyaları yazmak için bir konsol uygulaması oluşturma adımları nelerdir?

CSV dosyaları yazmak için bir konsol uygulaması oluşturmak adına Visual Studio'da yeni bir proje kurun, uygun .NET sürümünü seçin ve NuGet Paket Yöneticisi aracılığıyla IronXL'i kurun. Ardından, IronXL'i kullanarak bir çalışma kitabı oluşturun, bir çalışma sayfasına veri ekleyin ve CSV olarak kaydedin.

Microsoft Excel kullanmadan CSV dosyasına veri yazabilir miyim?

Evet, IronXL'i kullanarak Microsoft Excel olmadan CSV dosyasına veri yazabilirsiniz. Excel ve CSV dosyalarını programatik olarak manipüle etmeyi sağlar ve Excel yüklü olmasını gerektirmez.

Bir Visual Studio projesine IronXL nasıl yüklenir?

Visual Studio'da NuGet Paket Yöneticisini açarak, 'IronXL' için arama yaparak ve projeye eklemek için 'Yükle'ye tıklayarak IronXL kurulumu yapabilirsiniz. Bu, Excel ve CSV dosyalarını yönetmek için IronXL'in fonksiyonlarını kullanmanıza olanak tanır.

IronXL hangi dosya formatlarını dışa aktarma için destekliyor?

IronXL, verileri CSV, JSON, HTML, İkili, Byte Array, DataSet ve DataTable gibi formatlara dışa aktarmayı destekler, bu da onu farklı veri işleme ihtiyaçları için çok yönlü hale getirir.

IronXL farklı .NET sürümleriyle uyumlu mu?

Evet, IronXL, .NET Core 2 ve 3, ayrıca .NET 5, 6 ve 7 gibi birçok .NET sürümüne uyumludur, bu da geliştiricilere farklı geliştirme ortamları arasında esneklik sağlar.

IronXL'i ticari projeler için kullanabilir miyim?

Evet, IronXL ticari amaçlar için lisanslanabilir. Ayrıca, geliştiricilerin ticari bir lisansa bağlı kalmadan önce özelliklerini test etmelerini sağlamak için bir ücretsiz deneme sunar.

IronXL kullanarak C#'ta yeni bir çalışma kitabı ve çalışma sayfası oluşturmayı nasıl yapabilirim?

`WorkBook.Create()` kullanarak bir çalışma kitabı nesnesini başlatabilir ve ardından yeni bir çalışma sayfası ekleyebilirsiniz. Bu, çalışma sayfasına veri yazmaya başlamanızı sağlar.

IronXL herhangi bir Office Interop bağımlılığı gerektiriyor mu?

Hayır, IronXL, Office Interop bağımlılığı gerektirmeyen bağımsız bir kütüphanedir, bu da onu farklı platformlarda uygulamalara kullanmayı ve dağıtmayı kolaylaştırır.

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