Altbilgi içeriğine atla
IRONXL KULLANARAK

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

Bu makale, bir Microsoft Excel dosyasının nasıl açılacağını ve bir C# Konsol Uygulaması'nda işleneceğini göstermek için IronXL kütüphanesini keşfedecek.

IronXL - Bir Excel Kütüphanesi

IronXL, C# uygulamalarında Excel dosyalarının oluşturulmasını, okunmasını ve düzenlenmesini kolaylaştıran bir .NET Excel Kutuphanesidir. Üstün performans ve doğru çıktı sunar. Kütüphane, tüm Excel çalışma kitabı dosya formatlarını, XLS, XLSX, XLSM, CSV ve TSV dahil olmak üzere destekler. Ayrıca, verileri JSON, HTML, İkili, Bayt Dizisi, DataSet veya DataTable gibi formatlarda kaydetmeye veya dışa aktarmaya da olanak tanır.

IronXL ile geliştiriciler çalışma sayfaları ve hücre bölgeleri ile kesintisiz çalışabilirler. Formülleri düzenleme ve sayfada kolayca yeniden hesaplama yapabilme yeteneği sunar. Veri sıralama aralığa, sütuna veya satıra dayanarak basittir. Kütüphane, panoları dondurma, satır/sütunların otomatik boyutlandırılması ve satır/sütun ekleme/kaldırma gibi düzenleri değiştirmek için özellikler sunar.

IronXL ayrıca Excel dosyalarını koruma ve kullanıcı şifreleri ve düzenleme izinleri sağlama yeteneğine sahiptir. Başka bir önemli özellik ise Excel çalışma sayfalarına resim ekleme, çıkarma ve kaldırma yeteneğidir. Kütüphane, çeşitli hücre veri formatlarını destekleyen geniş bir Excel işlevselliği sunar. Bu özellikler, IronXL'yi Excel dosyalarıyla çalışırken en kullanıcı dostu API'lerden biri yapmaktadır.

IronXL'nin önemli avantajlarından biri, Office Interop veya başka herhangi bir bağımlılığa ihtiyaç duymaksızın, makinede Microsoft Excel yüklü olmasını gerektirmemesidir. Çoklu platformlarla uyumludur ve .NET 7, 6 ve 5 desteği bulunmaktadır. Ayrıca, .NET Core 2 ve 3 ile uyumlu olduğu gibi, Excel elektronik tablolarıyla çalışmak için .NET Framework 4.5 ve sonraki sürümleriyle de uyumludur.

Bir Konsol Uygulaması Oluşturun

En son sürüm Visual Studio IDE, uygulamayı oluşturmak için önerilir. Visual Studio, C# geliştirme için resmi IDE'dir ve zaten yüklediğiniz varsayılmaktadır. Eğer Visual Studio'yu yüklemediyseniz, bunu resmi Microsoft Visual Studio web sitesinden indirebilirsiniz.

"DemoApp" adında yeni bir proje oluşturmak için şu 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 Bilgiler Yeni Proje Ek Bilgi

IronXL Kütüphanesini Kur

Proje oluşturulduğunda, IronXL kutuphanesi projeye kurulmalıdır. Bunu kurmak için aşağıdaki adımları izleyin.

  1. Çözüm için NuGet Paketlerini Yönet'i, ya Çözüm Gezgini'nden ya da 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üphanesi'ni arayın ve mevcut projeyi seçin. Yükle'ye 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 IronXL paketini NuGet Paket Yöneticisi UI'de arayın ve yükleyin

Program.cs dosyasının üstüne aşağıdaki namespace'i ekleyin

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

Open an Existing Excel File in C

IronXL mevcut bir Excel dosyasını açma kolaylığı sağlar veya yeni bir Excel dosyası oluşturabilirsiniz. Bu örnek, C# IronXL kullanarak mevcut bir dosyayı açacaktır.

// 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 sayfasını seçelim. Bir çalışma sayfasını dizin numarası veya adı ile seçebilirsiniz. DefaultWorkSheet özelliği, ilk sayfayı elde etmeye 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ı elde ediyor. Veri içeren yeni bir Excel dosyası oluşturmak için bu kod örneği sayfasını kontrol edin.

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

Write Data to Excel File in C

IronXL kullanarak bir Excel dosyasına veri yazmak oldukça kolaydır. Bunu başarmanın birden fazla yolu var 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

Hücrelerin bulunduğu bir aralığa da veri yazmak 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ığı doldurup dinamik hale getirebiliriz. Kod şu şekildedir:

// 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

Bir Excel dosyasına veri yazmanın bir başka yolu Replace yöntemini kullanmaktı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, Excel dosyasını yeni yazılmış içerik ile 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 şu şekildedir:

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 hakkında daha ayrıntılı bilgi için bu örneğe göz atın.

Çıktı

Dosyanin cikisi:

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

Özet

Bu makalede, IronXL kullanarak C# dilinde Excel dosyalarina veri yazmanin yollari gösterilmistir. IronXL mevcut Excel dosyalarıyla zahmetsizce çalışmayı sağlar. Ayrica yeni Excel dosyalari oluşturmaniza ve kolay syntax ile veri yazmaniza da olanak tanir. IronXL, Microsoft Excel uygulamasi yuklu olmadan da Excel dosyalarini okumak icin kullanilabilir. Excel dosyalarindan veri okumak icin, bu kod ornegi sayfasina bakin.

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

Sıkça Sorulan Sorular

C#'da bir Excel dosyasını Interop kullanmadan nasıl açabilirim?

IronXL kütüphanesini kullanarak C#'da bir Excel dosyasını Interop kullanmadan açabilirsiniz. IronXL, Microsoft Excel yüklemeye ihtiyaç duymadan Excel dosyalarını verimli bir şekilde yönetmenizi sağlar, böylece performansı artırır ve uyumluluğu geliştirir.

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

IronXL kullanarak bir Excel dosyasındaki belirli bir hücreye veri yazmak için çalışma kitabına erişebilir, çalışma sayfasını seçebilir ve ardından hücre referanslarını kullanarak istenen hücrelere değer atayabilirsiniz.

Excel dosya işlemleri için IronXL'in Office Interop'a göre avantajları nelerdir?

IronXL, Office Interop'a göre birçok avantaj sunar; bunlar arasında Microsoft Excel yükleme zorunluluğunun ortadan kalkması, gelişmiş performans, platformlar arası uyumluluk ve XLS, XLSX, CSV gibi çeşitli Excel dosya formatlarına destek bulunur.

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

Evet, IronXL Excel dosyalarında formülleri düzenlemenize olanak tanır. Var olan formülleri değiştirebilir veya basit bir sözdizimi kullanarak yeni formüller ekleyebilirsiniz; bu kütüphane bunları verimli bir şekilde işler.

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

IronXL, C# uygulamasında sömürme, okuma ve düzenleme işlemlerini sorunsuz gerçekleştirebilmenizi sağlayarak XLS, XLSX, XLSM, CSV ve TSV gibi birden fazla Excel dosya formatını destekler.

IronXL ile Excel dosyasını korumak mümkün mü?

Evet, IronXL kullanıcı parolaları ve izinleri ayarlayarak Excel dosyalarını koruma işlevselliği sunar, böylece veri güvenliğini ve denetimli erişimi sağlar.

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

C# projenize IronXL'i entegre etmek için Visual Studio'da NuGet Paket Yöneticisini kullanabilirsiniz. IronXL'i arayın ve özelliklerini kullanmaya başlamak için projenize ekleyin.

Hangi platformlar IronXL tarafından desteklenir?

IronXL çeşitli geliştirici ortamları için çok yönlü bir seçim yaparak .NET 5, 6, ve 7 dahil olmak üzere .NET Core ve Framework gibi birçok platformu destekler.

IronXL'i ücretsiz kullanabilir miyim?

IronXL geliştirme amaçlı ücretsizdir. Ancak, ticari kullanım için bir lisans gerekmektedir. Ticari ortamda kütüphanenin özelliklerini test etmek için ücretsiz bir deneme sunulmaktadır.

IronXL kullanarak Excel verilerini JSON formatına nasıl aktarabilirim?

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

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