Altbilgi içeriğine atla
IRONXL KULLANARAK

C#'ta Excel Dosyası Açma ve Veri Yazma

Bu makale, bir Microsoft Excel dosyasını nasıl açabilir ve bir C# Konsol Uygulaması ile nasıl veri yazabileceğinizi göstermek için IronXL kütüphanesini keşfedecek.

IronXL - Bir Excel Kütüphanesi

IronXL, C# uygulamalarında Excel dosyalarını oluşturmayı, okumayı ve düzenlemeyi kolaylaştıran bir .NET Excel Kütüphanesidir. Üstün performans ve doğru çıktı sunar. Kütüphane, XLS, XLSX, XLSM, CSV ve TSV dahil olmak üzere tüm Excel çalışma kitabı dosya formatlarını destekler. Ayrıca, verilerin JSON, HTML, İkili, Bayt Dizisi, DataSet veya DataTable gibi formatlarda saklanmasına veya dışa aktarılmasına da izin verir.

IronXL ile geliştiriciler, çalışma sayfaları ve hücre aralıklarıyla sorunsuz çalışabilir. Formülleri düzenleme yeteneği sunar ve bunları kolayca bir sayfa içinde yeniden hesaplar. Verileri sıralamak aralık, sütun veya satıra göre basittir. Kütüphane, panelleri dondurma, satır/sütun otomatik boyutlandırma ve satır/sütun ekleme/kaldırma gibi düzen ilişkilerini değiştirmek için özellikler sağlar.

IronXL ayrıca, kullanıcı şifreleri ve düzenleme izinleri ile Excel dosyalarının korunmasını sağlar. Bir diğer dikkat çekici özellik ise, Excel çalışma sayfalarına resim ekleyip, kaldırıp, çıkartabilme yeteneğidir. Kütüphane, çeşitli hücre veri formatlarını destekleyen geniş bir Excel işlev yelpazesi sunar. Bu özellikler, IronXL'yi Excel dosyalarıyla çalışma için en kullanıcı dostu API'lerden biri haline getiriyor.

IronXL'nin en büyük avantajlarından biri, makinede Microsoft Excel yüklemeyi gerektirmemesidir, bu da Office Interop veya diğer bağımlılıklara olan ihtiyacı ortadan kaldırır. Çoklu platformlarla uyumludur ve .NET 7, 6 ve 5'i destekler. Ayrıca, .NET Core 2 ve 3, ve .NET Framework 4.5 ve üst sürümler ile Excel elektronik tabloları üzerinde çalışmak için de uyumludur.

Konsol Uygulaması Oluşturma

Uygulamayı oluşturmak için en güncel Visual Studio IDE sürümünü öneririz. Visual Studio, C# geliştirme için resmi IDE'dir ve zaten yüklediğiniz varsayılır. Eğer Visual Studio'yu yüklemediyseniz, resmi Microsoft Visual Studio web sitesinden indirebilirsiniz.

"DemoApp" adlı yeni bir proje oluşturmak için bu adımları izleyin.

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

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 1: Yeni Proje Yeni Proje

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

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 2: Yeni Proje Türü Yeni Proje Türü

  3. Projenin adını girin

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 3: Yeni Proje Adı Yeni Proje Adı

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

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 4: Yeni Proje Ek Bilgi Yeni Proje Ek Bilgiler

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 için NuGet Paketlerini Yönet'i Solution Explorer veya Araçlar'dan açın.

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 5: NuGet Paket Yöneticisi NuGet Paket Yöneticisi

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

    Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 6: NuGet Paket Yöneticisi UI'da IronXL paketini arayın ve yükleyin NuGet Paket Yöneticisi UI'ında IronXL paketini arayın ve yükleyin

Program.cs dosyasının en üstüne aşağıdaki ad alanını ekleyin

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

Open an Existing Excel File in C

IronXL, mevcut bir Excel dosyasını açma veya yeni bir Excel dosyası oluşturma olanağı sağlar. Bu örnek, C# IronXL kullanarak mevcut bir dosyanın açılacağını gösterecek.

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
$vbLabelText   $csharpLabel

Şimdi, ilk çalışma sayfasını seçelim. Çalışma sayfasını indeks numarasına veya ismine göre seçebilirsiniz. DefaultWorkSheet özelliği, ilk sayfayı almak için yardımcı olabilir.

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)

' Select worksheet by name 
Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
$vbLabelText   $csharpLabel

Yukarıdaki kod, Excel çalışma kitabının ilk sayfasını alır. Veri ile yeni bir Excel dosyası oluşturmak için, bu kod örnek sayfasını kontrol edin.

Şimdi, Excel dosyasına IronXL nesnesi kütüphanesini kullanarak veri yazalım.

Write Data to Excel File in C

IronXL kullanarak Excel dosyasına veri yazmak çok kolaydır. Birden fazla yol vardır, ancak en basit yöntem Excel hücre referansını kullanmaktır.

// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"
$vbLabelText   $csharpLabel

Bir dizi hücreye veri yazmak da mümkündür. Aşağıdaki kod, B1'den B5'e kadar olan hücrelere veri yazar.

// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
$vbLabelText   $csharpLabel

Ayrıca bir for döngüsü ile aralığı doldurabiliriz, bu da onu dinamik hale getirir. Kod şöyle devam ediyor:

// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
' Specify range in which we want to write the values
For i As Integer = 1 To 5
	' Write the Dynamic value in column C
	workSheet("C" & i).Value = "Value: " & i

	' Write the Dynamic value in column D
	workSheet("D" & i).Value = "Value: " & i
Next i
$vbLabelText   $csharpLabel

Replace yöntemini kullanarak bir Excel dosyasına veri yazmanın başka bir yolu daha vardır.

// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
$vbLabelText   $csharpLabel

Save an Excel File in C

Bu bölüm, yeni yazılmış içerikle Excel dosyasının nasıl kaydedileceğini açıklar.

// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Tam kod aşağıdaki gibidir:

using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

        // Access A1 cell and write the value
        workSheet["A1"].Value = "Value using cell reference";

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

        // Access A1 cell and write the value
        workSheet["A1"].Value = "Value using cell reference";

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
		Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

		' Select worksheet at index 0
		Dim workSheet As WorkSheet = workBook.WorkSheets(0)

		' Access A1 cell and write the value
		workSheet("A1").Value = "Value using cell reference"

		' Write the same value to cells from B1 to B5
		workSheet("B1:B5").Value = "Range value"

		' Specify range in which we want to write the values
		For i As Integer = 1 To 5
			' Write the Dynamic value in column C
			workSheet("C" & i).Value = "Value: " & i

			' Write the Dynamic value in column D
			workSheet("D" & i).Value = "Value: " & i
		Next i

		' Replace the value in cell D5
		workSheet("D5").Replace("Value: 5", "Replaced Value")

		' Save the updated Excel workbook to a file
		workBook.SaveAs("sample.xlsx")
		Console.WriteLine("Successfully written to Excel File")
	End Sub
End Class
$vbLabelText   $csharpLabel

C#'ta Excel dosya verilerini okuma konusunda daha ayrıntılı bilgi edinmek için bu örneğe bakın.

Çıktı

Dosyanın çıktısı şudur:

Excel Dosyasını Açma ve C# ile Veri Yazma, Şekil 7: Çıktı Excel dosyası Çıkış Excel Dosyası

Özet

Bu makale, IronXL kullanarak C#'ta Excel dosyalarına veri yazmayı gösterdi. IronXL, mevcut Excel dosyalarıyla zahmetsizce çalışma imkanı sunar. Ayrıca, kolay sözdizimi ile yeni Excel dosyaları oluşturabilir ve veri yazabilirsiniz. IronXL, Microsoft Excel uygulaması yüklenmeden Excel dosyalarını okumak için de kullanılabilir. Excel dosyalarından veri okumak için bu kod örnekleri sayfasına bakabilirsiniz.

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#'da Interop kullanmadan bir Excel dosyasını nasıl açabilirim?

IronXL kütüphanesini kullanarak C#'da Interop gerektirmeden Excel dosyası açabilirsiniz. IronXL, Microsoft Excel kurulumu gereksinimini ortadan kaldırır ve performansı ile uyumluluğu artırır.

Bir Excel dosyasında belirli bir hücreye C# kullanarak nasıl veri yazarım?

IronXL kullanarak, bir Excel dosyasında belirli bir hücreye veri yazabilirsiniz: çalışma kitabına erişerek, çalışma sayfasını seçin ve istenen hücrelere değer atamak için hücre referanslarını kullanın.

Excel dosyalarını manipüle etmek için IronXL'in Office Interop'a göre avantajları nelerdir?

IronXL, Microsoft Excel kurulumu gereksiniminin olmaması, geliştirilmiş performans, platformlar arası uyumluluk ve XLS, XLSX, CSV gibi çeşitli Excel dosya formatları desteği gibi birçok avantaj sunar.

Bu kütüphane ile Excel dosyalarındaki formülleri düzenleyebilir miyim?

Evet, IronXL Excel dosyalarındaki formülleri düzenlemenize olanak tanır. Mevcut formülleri manipüle edebilir veya yeni formüller ekleyebilirsiniz; kütüphane bunları verimli bir şekilde işler.

IronXL, farklı Excel dosya formatlarını nasıl destekler?

IronXL, XLS, XLSX, XLSM, CSV ve TSV gibi birden fazla Excel dosya formatını destekler ve C# uygulamalarında bu dosyaları sorunsuz bir şekilde oluşturmanıza, okumanıza ve düzenlemenize olanak tanır.

IronXL kullanarak bir Excel dosyasını korumak mümkün mü?

Evet, IronXL kullanıcı parolaları ve izinler ayarlayarak Excel dosyalarını koruma işlevi sunar; bu, veri güvenliğini ve kontrollü erişimi sağlar.

C# projemde IronXL kütüphanesini nasıl entegre edebilirim?

IronXL'i C# projenize entegre etmek için Visual Studio'daki NuGet Paket Yöneticisini kullanabilirsiniz. IronXL'i arayın ve proje özelliklerinden faydalanmaya başlamak için projenize ekleyin.

IronXL hangi platformları destekler?

IronXL, .NET 5, 6 ve 7'nin yanı sıra .NET Core ve Çerçeveyi destekler, bu da onu çeşitli geliştirme ortamları için çok yönlü bir seçenek haline getirir.

IronXL'ı ücretsiz kullanabilir miyim?

IronXL geliştirme amaçları için ücretsizdir. Ancak, ticari kullanım için lisans gereklidir. Kütüphanenin özelliklerini ticari ortamda test etmek için ücretsiz bir deneme mevcuttur.

IronXL kullanarak Excel verilerini JSON'a nasıl dönüştürebilirim?

IronXL, çalışma sayfasını veya belirli veri aralıklarını JSON dizelere dönüştürerek Excel verilerini JSON formatına aktarmanıza olanak tanır; bu veriler JSON verisi gerektiren uygulamalarda kullanılabilir.

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