
C#'ta Excel Dosyaları Nasıl Açılır
IronXL, C# geliştiricilerinin Microsoft Office kurulumu gerektirmeden Excel dosyalarını açmasına, okumasına ve üzerlerinde işlem yapmasına olanak tanır. Sadece WorkBook.Load() kullanarak çalışma kitaplarını yükleyin, çalışma sayfalarına erişin ve sheet["A1"] gibi sezgisel sözdizimi ile hücre değerlerini okuyun.
Bu eğitim, C# projelerinde IronXL kullanarak Excel dosyalarını açma ve okuma konularını keşfederken, junior geliştiricilere Excel verileriyle çalışma için kapsamlı örnekler ve en iyi uygulamaları sağlar.
IronXL Excel Kütüphanesi Nedir?
IronXL, kullanım kolaylığı, doğruluk ve hızı öncelikli bir .NET kütüphanesidir. MS Office Interop gerektirmeden Excel dosyalarını etkin bir şekilde oluşturmanıza ve düzenlemenize yardımcı olur, bu da Excel ile Interop olmadan çalışmak isteyen geliştiriciler için pratik bir seçimdir.
IronXL, Linux, macOS, Docker, Azure ve AWS ile birlikte tüm .NET Framework'lerle uyumludur. "Blazor" ve ".NET MAUI" gibi modern Web Uygulamaları için Konsol, Web ve Masaüstü Uygulamaları oluşturmak için kullanabilirsiniz. XLS ve XLSX dosyaları, XSLT ve XLSM, CSV ve TSV gibi farklı çalışma kitabı formatlarını destekler.
IronXL'nin Temel Özellikleri Nelerdir?
- LoadSpreadsheets kullanarak XLS/XLSX/CSV/TSV formatlarında veri açma, okuma ve arama.
- Excel Çalışma Sayfalarını Kaydet & Dışa Aktar ile birden fazla formata dışa aktarma.
- Şifreleyin ve güvenli özellikler kullanarak dosyaları şifre çözücü ile çözün.
- DataSet entegrasyonu ile Excel sayfalarıyla
DataSetveDataTablenesneleri olarak çalışın. - Excel formülleri otomatik olarak yeniden hesaplanır, Matematik Fonksiyonlarını destekler.
WorkSheet["A1:B10"]gibi sezgisel alan sözdizimi ile tablo veri düzenleyin.- Hücre Aralıklarını Sırala, Sütunları ve Satırları sırala.
- Font, Arka Planı, Çerçeve, Hizalama ve Sayı formatları ile Hücreleri Stilleyin.
C#'ta Excel Dosyası Nasıl Açılır?
Başlamadan Önce Nelere İhtiyacım Var?
C# uygulamalarında IronXL kullanmak için yerel bilgisayarınıza aşağıdaki bileşenleri kurun:
- Visual Studio - C# .NET uygulamaları geliştirmek için resmi IDE. Visual Studio'yu Microsoft web sitesinden indirebilir ve kurabilirsiniz.
JetBrainsReSharper& Rider da kullanabilirsiniz. Ek kurulum kılavuzu için Başlarken Genel Bakış başvuru yapın. - IronXL - C#'da Excel sayfaları ile çalışmanıza yardımcı olan Excel kütüphanesi. Kullanılmadan önce C# uygulamanıza kurulmalıdır. Bunu NuGet web sitesinden veya Visual Studio'da NuGet paketlerini yöneterek indirilebilir. .NET Excel DLL dosyasını doğrudan da indirebilirsiniz. Lisans uygulaması için Lisans Anahtarlarını Kullanma kısmına bakın.
Hangi Namespace'leri İçe Aktarmalıyım?
Visual Studio ve IronXL yüklendikten sonra, C# dosyanızın başına aşağıdaki satırı ekleyerek gerekli IronXL namespace'lerini ekleyin:
// Add reference to the IronXL library
using IronXL;' Add reference to the IronXL library
Imports IronXLBelirli Excel formatları veya gelişmiş özelliklerle çalışmak için ek namespace'ler gerekli olabilir.
using IronXL.Formatting; // For cell styling
using IronXL.Drawing; // For images and charts
using System.Data; // For DataSet/DataTable operationsImports IronXL.Formatting ' For cell styling
Imports IronXL.Drawing ' For images and charts
Imports System.Data ' For DataSet/DataTable operationsVar Olan Bir Excel Dosyasını Nasıl Yüklersiniz?
Çalışma kitapları olarak da bilinen Excel dosyaları, her biri hücre değerleri içeren birden fazla çalışma sayfasından oluşur. Bir Excel dosyasını açmak ve okumak için, WorkBook sınıfının Load metodunu kullanarak yükleyin. LoadSpreadsheets işlevselliği çeşitli formatları desteklemektedir.
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// You can also load from streams for web applications
// using (var stream = File.OpenRead("test.xlsx"))
// {
// WorkBook workbook = WorkBook.Load(stream);
// }' 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 streams for web applications
' Using stream = File.OpenRead("test.xlsx")
' Dim workbook As WorkBook = WorkBook.Load(stream)
' End UsingBu, çalışma kitabını WorkBook örneği olarak başlatır. Belirli bir WorkSheet açmak için, WorkSheets koleksiyonundan alın. Çalışma sayfası işlemleriyle ilgili daha fazla bilgi için Çalışma Sayfalarını Yönetme kılavuzuna başvurun.
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Alternative ways to access worksheets
WorkSheet sheetByIndex = workbook.WorkSheets[0]; // By index
WorkSheet sheetByName = workbook.GetWorkSheet("Sheet1"); // By name' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Alternative ways to access worksheets
Dim sheetByIndex As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheetByName As WorkSheet = workbook.GetWorkSheet("Sheet1") ' By nameBu, Excel dosyasındaki ilk sayfaya, okuma ve yazmaya hazır bir şekilde erişir.
Çalışan verilerini gösteren Excel elektronik tablosu, 5 çalışan için Adı, Unvanı ve Maaşı belirtilmiş sütunlar ve biçimlendirilmiş başlıklar ile hücre kenarlıkları
Excel Dosyası
Excel Hücrelerinden Veri Nasıl Okunur?
Excel dosyası açıldığında, veri okumaya hazırdır. IronXL kullanarak C# içinde Excel dosyalarından veri okumak oldukça basittir. Seçim Aralığı işlevselliğini kullanarak hücre referansını belirterek hücre değerlerini okuyabilirsiniz.
Aşağıdaki kod, bir hücrenin değerini almak için yazılmıştır:
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;
// You can also retrieve values in different formats
string textValue = sheet["C2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
DateTime dateValue = sheet["C2"].DateTimeValue;
bool boolValue = sheet["C2"].BoolValue;
// Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}");
// Check if cell is empty before reading
if (!sheet["C2"].IsEmpty)
{
Console.WriteLine($"Cell value: {sheet["C2"].Value}");
}' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue
' You can also retrieve values in different formats
Dim textValue As String = sheet("C2").StringValue
Dim decimalValue As Decimal = sheet("C2").DecimalValue
Dim dateValue As DateTime = sheet("C2").DateTimeValue
Dim boolValue As Boolean = sheet("C2").BoolValue
' Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}")
' Check if cell is empty before reading
If Not sheet("C2").IsEmpty Then
Console.WriteLine($"Cell value: {sheet("C2").Value}")
End IfÇıktı şu şekildedir:
Microsoft Visual Studio Hata Ayıklama Konsolu penceresi, Excel hücresi C2'den '100000' değerinin başarılı bir şekilde çıkarıldığını gösteren bağlamsal çıktı mesajıyla
Excel Oku
Bir dizi hücreden veri okumak için, belirli aralığın üzerinde yineleme yapmak için bir döngü kullanın. Excel Aralığı Seç örneği daha fazla desen sağlar:
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read an entire column
foreach (var cell in sheet.GetColumn(0)) // Column A
{
if (!cell.IsEmpty)
{
Console.WriteLine($"Column A value: {cell.Text}");
}
}
// Read an entire row
foreach (var cell in sheet.GetRow(1)) // Row 2
{
Console.WriteLine($"Row 2 value: {cell.Text}");
}' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next
' Read an entire column
For Each cell In sheet.GetColumn(0) ' Column A
If Not cell.IsEmpty Then
Console.WriteLine($"Column A value: {cell.Text}")
End If
Next
' Read an entire row
For Each cell In sheet.GetRow(1) ' Row 2
Console.WriteLine($"Row 2 value: {cell.Text}")
NextHer hücre aralığındaki A2:A6 değer konsola erişilip basılır.
Microsoft Visual Studio Hata Ayıklama Konsolu, Excel aralığı A2:A6'yı okuyarak işlenen ve çalışan adlarını John, Sara, Peter, Method ve Katherine olarak gösteren söz dizimi vurgusu ile
Dizi Halinde Hücre Okuma
Daha ayrıntılı okuma ve yazma örnekleri için, C# içinde Excel okuma eğitimi kısmına bakın. Excel verilerini DataTable'lara dönüştürebilir daha kolay işlendiğinde
// Convert worksheet to DataTable for easier data manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers
// Access data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"Employee: {row["Name"]}, Salary: {row["Salary"]}");
}' Convert worksheet to DataTable for easier data manipulation
Dim dataTable As DataTable = sheet.ToDataTable(True) ' True = first row contains headers
' Access data using DataTable methods
For Each row As DataRow In dataTable.Rows
Console.WriteLine($"Employee: {row("Name")}, Salary: {row("Salary")}")
NextYeni Excel Dosyası Nasıl Oluşturulur?
IronXL ayrıca yeni çalışma kitapları oluşturmayı olanak tanır ve veri depolama ve alma işlevleri sunar. Elektronik Tablolar Oluştur kılavuzu geniş kapsamlı örnekler sunar.
Tek bir kod satırı ile yeni bir Excel dosyası oluşturabilirsiniz:
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Alternative: Create with XLS format for compatibility
WorkBook xlsWorkBook = new WorkBook(ExcelFileFormat.XLS);
// Set workbook metadata
workBook.Metadata.Title = "Employee Data";
workBook.Metadata.Author = "Your Name";
workBook.Metadata.Keywords = "employees, salary, data";' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
' Alternative: Create with XLS format for compatibility
Dim xlsWorkBook As New WorkBook(ExcelFileFormat.XLS)
' Set workbook metadata
workBook.Metadata.Title = "Employee Data"
workBook.Metadata.Author = "Your Name"
workBook.Metadata.Keywords = "employees, salary, data"Sonrasında, bir çalışma sayfası oluşturun ve ona veri ekleyin. Daha gelişmiş oluşturma modelleri için, Yeni bir Excel Dosyası Oluştur kısmına bakın.
Bir Çalışma Kitabına Çalışma Sayfaları Nasıl Eklenir?
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create multiple worksheets at once
WorkSheet sheet2 = workBook.CreateWorkSheet("PopulationData");
WorkSheet sheet3 = workBook.CreateWorkSheet("Summary");
// Copy an existing worksheet
WorkSheet copiedSheet = workSheet.CopySheet("GDPByCountryCopy");' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
' Create multiple worksheets at once
Dim sheet2 As WorkSheet = workBook.CreateWorkSheet("PopulationData")
Dim sheet3 As WorkSheet = workBook.CreateWorkSheet("Summary")
' Copy an existing worksheet
Dim copiedSheet As WorkSheet = workSheet.CopySheet("GDPByCountryCopy")Bu kod, çalışma kitabına "GDPByCountry" adlı bir çalışma sayfası ekler, böylece hücre değerleri ekleyebilirsiniz. çalışma sayfalarını yönetme ve çalışma sayfalarını kopyalama hakkında daha fazla bilgi edinin.
Belirli bir hücre için bir değer ayarlamak için aşağıdaki kodu kullanın:
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Add different types of data
workSheet["A2"].Value = 12345; // Integer
workSheet["A3"].Value = 99.99m; // Decimal
workSheet["A4"].Value = DateTime.Now; // Date
workSheet["A5"].Value = true; // Boolean
// Add formulas
workSheet["B1"].Formula = "=SUM(A2:A3)";
// Set multiple cells at once using a range
workSheet["C1:C5"].Value = "Bulk Value";
// Save the workbook
workBook.SaveAs("output.xlsx");' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
' Add different types of data
workSheet("A2").Value = 12345 ' Integer
workSheet("A3").Value = 99.99D ' Decimal
workSheet("A4").Value = DateTime.Now ' Date
workSheet("A5").Value = True ' Boolean
' Add formulas
workSheet("B1").Formula = "=SUM(A2:A3)"
' Set multiple cells at once using a range
workSheet("C1:C5").Value = "Bulk Value"
' Save the workbook
workBook.SaveAs("output.xlsx")Nihai çıkış şudur:
Excel elektronik tablosu, C# kullanılarak programlanabilir şekilde eklenen 'Example' metniyle doldurulmuş hücre A1'i gösteriyor, GDPByCountry çalışma sayfası sekmesi görünür ve eklenen değeri göstermek için hücre vurgulama
Hücreye Değer Ekle
Farklı Excel Formatlarıyla Çalışma
IronXL birden fazla Excel formatını destekler. Farklı dosya türlerini nasıl ele alabileceğiniz aşağıda açıklanmıştır:
// Convert between formats
WorkBook workbook = WorkBook.Load("data.csv");
workbook.SaveAs("data.xlsx"); // Convert CSV to XLSX
// Export to different formats
workbook.SaveAsCsv("output.csv", ";"); // CSV with semicolon delimiter
workbook.SaveAsJson("output.json"); // Export as JSON
workbook.SaveAsXml("output.xml"); // Export as XML' Convert between formats
Dim workbook As WorkBook = WorkBook.Load("data.csv")
workbook.SaveAs("data.xlsx") ' Convert CSV to XLSX
' Export to different formats
workbook.SaveAsCsv("output.csv", ";") ' CSV with semicolon delimiter
workbook.SaveAsJson("output.json") ' Export as JSON
workbook.SaveAsXml("output.xml") ' Export as XMLElektronik tablo dosya türlerini dönüştürme ve XLSX'i CSV, JSON, XML türlerine dönüştürmeyi öğrenin.
Hata Yönetimi ve En İyi Uygulamalar
Excel dosyalarıyla çalışırken uygun hata yönetimini uygulayın:
try
{
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
// Check if sheet exists
if (sheet == null)
{
Console.WriteLine("Worksheet not found!");
return;
}
// Process data
var value = sheet["A1"].Value;
}
catch (Exception ex)
{
Console.WriteLine($"Error reading Excel file: {ex.Message}");
}Try
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Sheet1")
' Check if sheet exists
If sheet Is Nothing Then
Console.WriteLine("Worksheet not found!")
Return
End If
' Process data
Dim value = sheet("A1").Value
Catch ex As Exception
Console.WriteLine($"Error reading Excel file: {ex.Message}")
End TryÜretim uygulamaları için, günlük kaydı kurmayı ve doğru hata yönetim desenlerini uygulamayı düşünün.
Ne Öğrendik?
Bu makale, IronXL kullanarak C# içinde XLS ve XLSX gibi Excel dosyalarını açma ve okuma işlemlerini göstermektedir. IronXL, sistemde Excel ile ilgili görevler için Microsoft Excel yüklenmesini gerektirmez, bu da onu Docker dağıtımı ve Azure işlevleri için ideal hale getirir.
IronXL, formül hesaplama, dize sıralama, kırpma, bulma ve değiştirme, birleştirme ve birleştirmeyi kaldırma, dosya kaydetme ve daha fazlasını içeren eksiksiz bir Excel ile programatik olarak görev çözümü sağlar. hücre veri formatları ayarlayabilir, koşullu formatlama ile çalışabilir ve grafikler oluşturabilirsiniz.
Gelişmiş özellikler için, gruplama ve grup kaldırma, adlandırılmış aralıklar, bağlantılar ve Excel dosyalarını koruma keşfedin. Tüm özellikler için ayrıntılı belgeler içeren API Referansı sağlamaktadır.
IronXL, ücretsiz 30 günlük deneme sürümü için kullanılabilir ve ticari kullanım için lisanslanabilir. IronXL'nin Lite paketi $999 ile başlar. Ek kaynaklar için eğitim bölümünü ziyaret edin veya yaygın senaryolar için kod örneklerini keşfedin.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler



