Altbilgi içeriğine atla
IRONXL KULLANARAK

C#'ta Excel Dosyası Nasıl İçe Aktarılır

Microsoft Excel yüklü olmadan XLS, XLSX, CSV dosyalarını okuyan bir .NET kütüphanesi olan IronXL kullanarak C#'da Excel dosyalarını içe aktarın. Dosyaları açmak ve hücre verilerine ulaşmak için WorkBook.Load("file.xlsx") kullanın ve sheet["A1"] gibi sezgisel sözdizimi ile erişin.

Microsoft Excel, veri organizasyonu, sunumu ve analizine yardımcı olan çok yönlü bir elektronik tablo yazılımıdır. Ancak, Programatik olarak Excel ile çalışmak C#'da zorluklar içerir, özellikle çeşitli elektronik tablo dosya türleriyle uğraşırken veya dağıtım sunucunuzda Microsoft Office yüklü olmadığında. IronXL yazılım kütüphanesi, C# uygulamalarında Excel dosyalarını içe aktarmak ve okumak için kapsamlı bir çözüm sunar, XLSX, XLS ve CSV dosyaları dahil olmak üzere çeşitli formatları destekler.

IronXL Nedir ve Excel İçe Aktarımı İçin Neden Kullanmalıyım?

IronXL, kullanım kolaylığı, doğruluk ve hıza öncelik veren bir .NET Excel kütüphanesidir. Excel belgelerini oluşturma ve düzenlemeyi verimli bir şekilde, şimşek hızında performansla yapmanıza yardımcı olur. Microsoft Office Interop gerektiren geleneksel yaklaşımlardan farklı olarak, IronXL MS Office Interop bağımlılıkları olmadan bağımsız olarak çalışır. Bu, Excel yüklü olmadan Excel dosyalarını okuma işlevlerinin tamamını elde edeceğiniz anlamına gelir. Bu, IronXL'i C# uygulamalarında Excel dosyalarını içe aktarmak ve okumak için güçlü bir araç haline getirir, ister ASP.NET web uygulamaları oluşturuyor olun, ister masaüstü uygulamaları ister bulut tabanlı çözümler.

IronXL, Windows, Linux, macOS, Docker, Azure ve AWS gibi tüm platformlarda mevcuttur. Tüm .NET Framework sürümleriyle uyumludur ve modern .NET Core ve .NET 5+ ortamlarını destekler. IronXL, Console, Masaüstü ve Web ASP.NET uygulamalarına entegrasyonunun yanı sıra Blazor uygulamaları ile kullanılabilen çok yönlü bir kütüphanedir. Farklı elektronik tablo dosya türleri arasında dönüştürme yapmanız gereken senaryolar için ideal olan XLS ve XLSX dosyaları, XSLT ve XLSM, CSV ve TSV gibi farklı çalışma kitabı formatlarını destekler.

IronXL'i Excel İçe Aktarımı İçin Vazgeçilmez Yapan Ana Özellikler Nelerdir?

Excel Çalışma Kitabını C#'da Nasıl İçe Aktarırım?

Excel İçe Aktarımı İçin Başlamadan Önce Neye İhtiyacım Var?

IronXL'i C#'ta Excel dosyalarını okumak için kullanabilmek için bilgisayarınıza şu bileşenlerin yüklü olduğundan emin olun:

  1. Visual Studio - Bu, C# .NET uygulamaları geliştirmenin resmi IDE'sidir. Visual Studio, Excel dosyaları ile çalışmayı kolaylaştıran mükemmel IntelliSense desteği ve hata ayıklama araçları sunar. Visual Studio'yu Microsoft web sitesinden indirip yükleyebilirsiniz. Community Edition, çoğu geliştirme ihtiyaçını karşılayan ve ücretsiz olan bir sürümdür.

  2. IronXL - Bu, C#'ta belirli bir yolda Excel sayfalarıyla çalışmanıza yardımcı olan kütüphanedir. Kullanmadan önce C# programınıza yüklenmelidir. IronXL, NuGet web sitesinden kolayca indirilebilir veya Visual Studio araçları içinde NuGet paketlerini yönet arayüzü ile doğrudan kurulabilir. İsterseniz, .NET Excel DLL dosyasını manuel yükleme için doğrudan indirebilirsiniz.

Üretim dağıtımları için, filigranları kaldırmak ve tam işlevselliği etkinleştirmek için bir lisans anahtarı uygulamanız gerekecektir. Geliştirme ve test, deneme sürümü ile yapılabilir.

Koduma Hangi Ad Alanlarını Eklemeliyim?

Visual Studio ve IronXL yüklendikten sonra, IronXL işlevlerini kaynak kodunuzda kullanmak için IronXL derlemesini referans alın. DemirXl İşlevlerinin kullanıldığı yeni projedeki dosyanın üstüne aşağıdaki satır kodunu ekleyin:

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

Bu tekli ad alanı importu, Excel işlemleri için gereken tüm çekirdek işlevselliğe erişim sağlar. Belirli Excel özellikleriyle, örneğin grafikler veya koşullu biçimlendirme ile çalışıyorsanız, IronXL kütüphanesinden ek ad alanları import etmeniz gerekebilir.

Excel Dosyasını Nasıl Yükler ve Açarım?

Microsoft Excel Elektronik Tabloları ayrıca Excel Çalışma Kitapları olarak da adlandırılır. Her bir çalışma kitabı birden fazla çalışma sayfası (aynı zamanda sayfa olarak da adlandırılır) içerir ve tek bir çalışma sayfası, sıralar ve sütunlar halinde düzenlenmiş tablo hücreleri ile onların ilgili değerlerini içerir. Bir Excel dosyasını açmak ve okumak için, IronXL kütüphanesinde bulunan WorkBook sınıfını ve Load yöntemini kullanarak yükleyin. Kod şu şekildedir:

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");

// You can also load from a stream
using (var stream = File.OpenRead("test.xlsx"))
{
    WorkBook streamWorkbook = WorkBook.Load(stream);
}

// Or load CSV files with custom delimiters
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");

// You can also load from a stream
using (var stream = File.OpenRead("test.xlsx"))
{
    WorkBook streamWorkbook = WorkBook.Load(stream);
}

// Or load CSV files with custom delimiters
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")

' You can also load from a stream
Using stream = File.OpenRead("test.xlsx")
    Dim streamWorkbook As WorkBook = WorkBook.Load(stream)
End Using

' Or load CSV files with custom delimiters
Dim csvWorkbook As WorkBook = WorkBook.LoadCSV("data.csv", delimiter:=",")
$vbLabelText   $csharpLabel

Bu, Excel dosyasını çalışma kitabı örnek değişkeninde açar. Çünkü bir çalışma kitabı birden fazla çalışma sayfasına sahip olabilir, onlara çeşitli yollarla erişebilirsiniz. Aşağıdaki kod, sayfa örnek değişkenindeki ilk çalışma sayfasını açar:

// Get the first worksheet
WorkSheet sheet = workbook.WorkSheets.First();

// Or access by worksheet name
WorkSheet namedSheet = workbook.GetWorkSheet("Sheet1");

// Or by index (zero-based)
WorkSheet indexedSheet = workbook.WorkSheets[0];
// Get the first worksheet
WorkSheet sheet = workbook.WorkSheets.First();

// Or access by worksheet name
WorkSheet namedSheet = workbook.GetWorkSheet("Sheet1");

// Or by index (zero-based)
WorkSheet indexedSheet = workbook.WorkSheets[0];
' Get the first worksheet
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Or access by worksheet name
Dim namedSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

' Or by index (zero-based)
Dim indexedSheet As WorkSheet = workbook.WorkSheets(0)
$vbLabelText   $csharpLabel

Bu, Excel dosyasındaki ilk sayfayı açacak ve artık Excel verileri bu sayfadan okunabilir ve üzerine yazılabilir. Daha gelişmiş senaryolar için, programatik olarak birden fazla çalışma sayfasını yönetmeye veya yeni elektronik tablolar oluşturmaya ihtiyaç duyabilirsiniz.

Açılan Excel Dosyası

İsim, Unvan ve Maaş sütunlarını içeren, çeşitli iş unvanları ve maaşları olan 5 çalışan kaydı içeren çalışan verilerini gösteren Excel elektronik tablosu C# kullanılarak içe aktarılacak çalışan bilgisi içeren örnek Excel dosyası. Veriler, isimler, iş unvanları (Yönetici, Direktör, Çalışan, Başkan) ve karşılık gelen maaş değerlerini içerir.**

İçe Aktardıktan Sonra Belirli Hücre Değerlerini Nasıl Okuyabilirim?

Excel dosyası içeri aktarıldıktan sonra, veri okumaya hazırdır. C#'da IronXL kullanarak Excel dosya verilerini okumak çok basit ve kolaydır. Excel hücre değerlerini, standart Excel gösteriminde (örneğin "A1", "B2" gibi) hücre referans numarasını belirterek okuyabilirsiniz. Kütüphane, beklenen veri tipine bağlı olarak hücre değerlerine erişmenin birçok yolunu sunar.

Aşağıdaki kod, "C2" referans numarasına sahip bir hücrenin değerini alır:

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);

// You can also access different data types
string textValue = sheet["A2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
double doubleValue = sheet["C2"].DoubleValue;
DateTime dateValue = sheet["D2"].DateTimeValue;
bool boolValue = sheet["E2"].BoolValue;

// Check if cell is empty
bool isEmpty = sheet["F2"].IsEmpty;
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);

// You can also access different data types
string textValue = sheet["A2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
double doubleValue = sheet["C2"].DoubleValue;
DateTime dateValue = sheet["D2"].DateTimeValue;
bool boolValue = sheet["E2"].BoolValue;

// Check if cell is empty
bool isEmpty = sheet["F2"].IsEmpty;
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value
Console.WriteLine(cellValue)

' You can also access different data types
Dim textValue As String = sheet("A2").StringValue
Dim decimalValue As Decimal = sheet("C2").DecimalValue
Dim doubleValue As Double = sheet("C2").DoubleValue
Dim dateValue As DateTime = sheet("D2").DateTimeValue
Dim boolValue As Boolean = sheet("E2").BoolValue

' Check if cell is empty
Dim isEmpty As Boolean = sheet("F2").IsEmpty
$vbLabelText   $csharpLabel

Çıktı aşağıdaki gibidir:

Microsoft Visual Studio Hata Ayıklama Konsolu penceresi, bir Excel dosyası okuma işleminin çıktısını, dosya yolunu ve tamamlanma mesajını gösteriyor C# dilindeki bir Excel dosyasını başarıyla okuduktan sonra hata ayıklama konsolu çıktısı. Programın yürütülmesi tamamlanmıştır ve kullanıcıdan kapanması için bir giriş bekliyor.

Şimdi, açılan Excel dosyasındaki hücrelerin bir aralığından veri okuyalım. IronXL, tanıdık Excel gösterimini kullanarak hücre aralıkları ile çalışmayı kolaylaştırır. Kod şu şekildedir:

// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

// You can also work with entire rows or columns
var row = sheet.GetRow(2); // Get row 3 (0-indexed)
foreach (var cell in row)
{
    Console.WriteLine($"Row cell value: {cell.Value}");
}

// Or get a column
var column = sheet.GetColumn(0); // Get column A
foreach (var cell in column)
{
    Console.WriteLine($"Column A value: {cell.Value}");
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

// You can also work with entire rows or columns
var row = sheet.GetRow(2); // Get row 3 (0-indexed)
foreach (var cell in row)
{
    Console.WriteLine($"Row cell value: {cell.Value}");
}

// Or get a column
var column = sheet.GetColumn(0); // Get column A
foreach (var cell in column)
{
    Console.WriteLine($"Column A value: {cell.Value}");
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next

' You can also work with entire rows or columns
Dim row = sheet.GetRow(2) ' Get row 3 (0-indexed)
For Each cell In row
    Console.WriteLine($"Row cell value: {cell.Value}")
Next

' Or get a column
Dim column = sheet.GetColumn(0) ' Get column A
For Each cell In column
    Console.WriteLine($"Column A value: {cell.Value}")
Next
$vbLabelText   $csharpLabel

Kod çok basit, temiz ve nettir. Hücrelerin aralığı, bir foreach döngüsünde gösterildiği gibi basit sözdizimi ile referans edilebilir: sheet["A2:A6"] ve her hücre, değerini almak için yinelenebilir. Burada, konsol çıkışında 2. satırdan 6. satıra kadar A sütunundaki isimleri göreceksiniz:

Microsoft Visual Studio Hata Ayıklama Konsolu, A2'den A6'ya kadar Excel hücrelerini okuyarak John, Sara, Peter, Mathew ve Katherine isimlerini gösteren çıktıyı gösteriyor C# kullanarak isimler içeren (A2:A6) Excel hücre aralığını başarıyla okuma işlemini gösteren konsol çıktısı

Hücre değerlerini okuma ve yazma hakkında daha fazla detay için, C# dilinde Excel dosyalarını okuma örnekliğine göz atın. Ayrıca, formüller uygulama veya adlandırılmış aralıklar ile çalışma gibi gelişmiş özellikleri de keşfedebilirsiniz.

Çalışma Sayfalarını Bir Kerede Nasıl İçe Aktarabilirim?

IronXL, Satır ve Sütun indekslerini kullanarak Excel sayfalarını bir seferde okumak için kullanılabilir. Bu, özellikle bir çalışma sayfasındaki tüm verileri işlemek gerektiğinde veya Excel'i CSV veya JSON gibi diğer biçimlere dönüştürdüğünüzde kullanışlıdır. Aşağıdaki IronXL kod örnekleri, Excel dosyasının tamamını aynı formatta konsol çıktısına aktarmanıza yardımcı olur:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}

// Alternative method using LINQ for more efficient processing
var allData = sheet.Rows.SelectMany(row => 
    row.Columns.Select(col => col.Value?.ToString() ?? "")).ToList();
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}

// Alternative method using LINQ for more efficient processing
var allData = sheet.Rows.SelectMany(row => 
    row.Columns.Select(col => col.Value?.ToString() ?? "")).ToList();
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
    ' Traverse all columns of specific Row
    For j As Integer = 0 To sheet.Columns.Count() - 1
        ' Get the values
        Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
        Console.Write("{0}" & vbTab, val)
    Next
    Console.WriteLine()
Next

' Alternative method using LINQ for more efficient processing
Dim allData = sheet.Rows.SelectMany(Function(row) 
    row.Columns.Select(Function(col) If(col.Value?.ToString(), ""))).ToList()
$vbLabelText   $csharpLabel

Daha büyük Excel dosyaları için, daha iyi performans ve daha kolay veri işleme sağlamak üzere DataTable veya DataSet nesnelerini kullanmayı düşünebilirsiniz:

// Convert worksheet to DataTable for easier manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers

// Process data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
// Convert worksheet to DataTable for easier manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers

// Process data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
' Convert worksheet to DataTable for easier manipulation
Dim dataTable As DataTable = sheet.ToDataTable(True) ' True = first row contains headers

' Process data using DataTable methods
For Each row As DataRow In dataTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}" & vbTab)
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

Çıktı Dosyası

Microsoft Visual Studio Hata Ayıklama Konsolu, Excel dosyasından okunan 5 çalışan kaydını gösteren İsim, Unvan ve Maaş sütunlarını içeren çalışan veri tablosunu gösteriyor Konsol çıktısı, Excel dosyasından alınan çalışan verilerini, uygun formatlama ile adları, iş unvanlarını ve maaş bilgilerini başarıyla gösteriyor.

.

Excel Dosyalarını İçe Aktardıktan Sonra Sonraki Adımlar Neler?

Bu makale, Microsoft Excel yüklü olmadan C# dilinde bir Excel dosyasını içe aktarma ve okuma yöntemini gösterdi. Bireysel hücrelerden tüm çalışma sayfalarına kadar, bir Excel elektronik tablosundan veri okumanın birçok yolunu ele aldı. IronXL, C# dilinde yüklü Excel olmadan Excel dosyaları oluşturmanıza da yardımcı olur.

Excel verilerini başarıyla içe aktardıktan sonra, ek özellikleri keşfetmek isteyebilirsiniz:

IronXL, tüm Microsoft Excel belgeyle ilgili görevlerin programatik olarak uygulanması için hepsi bir arada bir çözüm sağlar. Formül hesaplamaları, dizi ya da sayı sıralama, kırpma ve ekleme, bul ve değiştir yapabilir, hücreleri birleştirip ayırabilir, dosyaları kaydedebilir ve çok daha fazlasını yapabilirsiniz. Hücre değerlerini düzenleyebilir ve ayrıca hücre veri formatlarını belirleyebilir ve elektronik tablo verilerini doğrulayabilirsiniz. Ayrıca CSV dosyalarını destekler ve Excel verileri ile sorunsuz çalışmanızı sağlar.

Kurumsal uygulamalar için, dağıtım seçeneklerini, Docker konteynerleri, Azure İşlevleri ve AWS Lambda dahil olmak üzere çeşitli platformlar için keşfetmeyi düşünün.

IronXL ücretsiz deneme için mevcuttur ve ticari kullanım için Lite paketi ile birlikte sadece $799 başlangıç fiyatı ile lisanslanabilir. Kütüphane, C# uygulamalarınızda Excel dosya işlemlerine hızla başlamanıza yardımcı olacak mükemmel belgeleme, öğreticiler ve kod örnekleri sunar.

Sıkça Sorulan Sorular

Interop kullanmadan C#'ta bir Excel dosyasını nasıl aktarabilir ve okuyabilirim?

IronXL kütüphanesini kullanarak C#'ta Excel dosyalarını aktarabilir ve okuyabilirsiniz. WorkBook.Load("file.xlsx") kullanarak Excel dosyasını yükleyerek Microsoft Excel yüklü olmadan verilere erişebilir ve işleyebilirsiniz.

IronXL kütüphanesi hangi platformlarla uyumludur?

IronXL tüm .NET Framework'lerle uyumludur ve Windows, Linux, MacOS, Docker, Azure, AWS gibi birden fazla platformda kullanılabilir.

Microsoft Excel yüklü olmadan Excel dosyalarını düzenlemek için IronXL'i kullanabilir miyim?

Evet, IronXL, C#'ta Excel dosyalarını programatik olarak oluşturup düzenlemenize olanak tanır ve bunu yaparken sisteminizde Microsoft Excel yüklü olmasına gerek yoktur.

IronXL hangi Excel formatlarını işleyebilir?

IronXL, XLS, XLSX, CSV, TSV gibi çeşitli Excel dosya formatlarını destekler ve veri ithalatı ve işlenmesini kolaylaştırır.

Bir C# projesinde IronXL'i kullanmak için hangi ön koşullar gereklidir?

IronXL'i kullanmak için Visual Studio yüklediğinizden emin olun. Projenize NuGet paket yöneticisi aracılığıyla veya .NET Excel DLL dosyasını indirip referans vererek IronXL ekleyebilirsiniz.

IronXL ile C#'ta bir Excel çalışma kitabını nasıl yüklerim?

C#'ta bir Excel çalışma kitabını yüklemek için IronXL'nin WorkBook.Load("path/to/file.xlsx") metodunu kullanın, bu sayede çalışma kitabını açıp onunla çalışabilirsiniz.

IronXL ile Excel formüllerini işlemek mümkün mü?

Evet, IronXL bir sayfa düzenlendiğinde Excel formüllerini sorunsuzca işleyip tekrar hesaplayabilir, bu da veri hesaplamalarında doğruluk sağlar.

IronXL kullanarak belirli bir hücreden verileri nasıl okuyabilirim?

Belirli bir hücreden veri okumak için, IronXL sözdizimini kullanarak sheet["B2"].StringValue gibi kullanımlar ile B2 hücresindeki değeri alın.

IronXL kullanarak bir Excel sayfasındaki hücreler üzerinde döngü yapabilir miyim?

Evet, IronXL kullanarak foreach (var cell in sheet["A1:C3"]) gibi bir sözdizimi ile hücrelerin üzerinden geçip her bir hücreyi ayrı ayrı işleyebilirsiniz.

IronXL, ASP.NET uygulamalarına nasıl entegre edilir?

IronXL kolayca ASP.NET uygulamalarına, kütüphane NuGet aracılığıyla eklenip referans verilerek entegre edilebilir ve böylece web uygulamalarında Excel dosyalarını düzenleme olanağı sağlar.

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