C# ile Yüklü Olmadan Open Office Excel Dosyalarını Nasıl Okunur
Açık Belge Hesap Tablosu (ODS) ve Excel dosyalarını C# dilinde okumak ve işlemek, doğru kütüphane kullanıldığında basittir. IronXL ile herhangi bir XLS, XLSX, ODS veya CSV dosyasını tek bir metot çağrısıyla WorkBook nesnesine yükleyebilirsiniz—Microsoft Excel kurulumu gerekmez, COM kaydı gerekmez ve Interop sorunları yoktur. Bu kılavuz, paketin kurulması, dosyaların yüklenmesi, türlenmiş hücre değerlerinin çıkarılması, adlandırılmış çalışma tablolarıyla çalışma, birleştirilmiş hücrelerin işlenmesi ve Linux veya konteyner tabanlı ortamlara dağıtılması gibi her adımı size anlatır.
.NET Projesine IronXL Nasıl Kurulur?
NuGet Paket Yöneticisi Kurulumu
NuGet Paket Yöneticisi aracılığıyla projenize IronXL ekleyin. Visual Studio'da Paket Yöneticisi Konsolunu açın ve şu komutu çalıştırın:
Install-Package IronXL.Excel
IronXL, hem modern hem de eski kod tabanlarına uygun şekilde .NET 8, .NET 9, .NET 10, .NET Framework 4.6.2+ ve .NET Standard 2.0'ı hedefler. Paket yüklendikten sonra, elektronik tablolarla çalışan herhangi bir dosyanın en üstüne using IronXL; yönergesini ekleyin ve ilk çalışma kitabınızı yüklemeye hazırsınız.
Azure Functions, Docker konteynerleri veya Linux'ta barındırılan API'ler için ek bir çalışma zamanı yapılandırması gerekmez. Kütüphane, ihtiyaç duyduğu her şeyi içsel olarak paketler ve Excel otomasyon bileşenlerine çağrı yapmaz.
OpenOffice veya Excel Dosyasını C#'da Nasıl Yükleriz?
IronXL, WorkBook.Load yöntemi aracılığıyla ODS, XLS, XLSX ve CSV dosyalarını aynı şekilde işler. Mutlak veya görece bir dosya yolu verir ve kütüphane yalnızca uzantıdan değil, dosya başlığından biçimi algılar. Bu, .ods adlı bir dosyanın .xlsx olarak yeniden adlandırıldığında hala doğru şekilde okunduğu anlamına gelir.
using IronXL;
// Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
WorkBook workbook = WorkBook.Load("quarterly_report.ods");
// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];
// Read a cell value
string companyName = sheet["A1"].StringValue;
int recordCount = sheet["B1"].IntValue;
Console.WriteLine($"Company : {companyName}");
Console.WriteLine($"Records : {recordCount}");
using IronXL;
// Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
WorkBook workbook = WorkBook.Load("quarterly_report.ods");
// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];
// Read a cell value
string companyName = sheet["A1"].StringValue;
int recordCount = sheet["B1"].IntValue;
Console.WriteLine($"Company : {companyName}");
Console.WriteLine($"Records : {recordCount}");
Imports IronXL
' Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
Dim workbook As WorkBook = WorkBook.Load("quarterly_report.ods")
' Access the first worksheet by index
Dim sheet As WorkSheet = workbook.WorkSheets(0)
' Read a cell value
Dim companyName As String = sheet("A1").StringValue
Dim recordCount As Integer = sheet("B1").IntValue
Console.WriteLine($"Company : {companyName}")
Console.WriteLine($"Records : {recordCount}")
Aynı çağrı XLSX ve XLS dosyalarında çalışır -- sadece yolu değiştirin. WorkBook.Load kaynağın formatından bağımsız olarak aynı güçlü dönüştürülmüş nesneyi döndürür, böylece dosya Microsoft Excel, LibreOffice veya herhangi bir başka ODF uyumlu uygulamadan gelse bile kodunuzun geri kalanı aynı kalır.
Bir Çalışma Sayfasındaki Her Satırı ve Hücreyi Nasıl Okursunuz?
Satır Koleksiyonunu Yineleme
Tüm satırları ve hücreleri yinelemek, en yaygın Excel işleme görevlerinden biridir -- ister veri ithalatı doğrulaması yapıyor olun, ister kayıtları dönüştürüyor, ister raporlama hattını besliyor olun. IronXL, her bir WorkSheet için bir Rows koleksiyonu sağlar:
using IronXL;
WorkBook workbook = WorkBook.Load("customers.xlsx");
WorkSheet worksheet = workbook.WorkSheets[0];
Console.WriteLine($"Total rows : {worksheet.RowCount}");
Console.WriteLine($"Total columns : {worksheet.ColumnCount}");
Console.WriteLine();
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
if (!cell.IsEmpty)
Console.Write($"{cell.StringValue,-20}");
}
Console.WriteLine();
}
using IronXL;
WorkBook workbook = WorkBook.Load("customers.xlsx");
WorkSheet worksheet = workbook.WorkSheets[0];
Console.WriteLine($"Total rows : {worksheet.RowCount}");
Console.WriteLine($"Total columns : {worksheet.ColumnCount}");
Console.WriteLine();
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
if (!cell.IsEmpty)
Console.Write($"{cell.StringValue,-20}");
}
Console.WriteLine();
}
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("customers.xlsx")
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
Console.WriteLine($"Total rows : {worksheet.RowCount}")
Console.WriteLine($"Total columns : {worksheet.ColumnCount}")
Console.WriteLine()
For Each row In worksheet.Rows
For Each cell In row
If Not cell.IsEmpty Then
Console.Write($"{cell.StringValue,-20}")
End If
Next
Console.WriteLine()
Next
RowCount ve ColumnCount özellikleri yalnızca doldurulmuş aralığı döndürür -- boş son satır ve sütunlar dahil edilmez. cell.IsEmpty kontrolü, seyrek sayfalarda gereksiz işlemeyi önlemek için okumadan önce yapılmalıdır.
Büyük dosyalar için, tüm sayfa iterasyonu yerine aralık tabanlı erişim kullanmayı (worksheet["A1:D500"]) düşünün. Bu, belleğe yüklenen hücreleri sınırlar ve yalnızca verinin bir alt kümesine ihtiyaç duyduğunuzda işleme hızını arttırır.
Hücrelerden Türlenmiş Değerler Nasıl Çıkartılır?
Türlenmiş Öğe Erişimcileri
Gerçek dünya hesap tablolarındaki hücreler, string, integer, decimal, boolean ve tarih gibi veriler içerir. IronXL, ham stringleri elle ayrıştırmak zorunda kalmadan kullanılabilecek, özel türlenmiş özellikler sağlar:
using IronXL;
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Products");
// Typed accessors handle conversion automatically
string productName = sheet["A2"].StringValue;
int quantity = sheet["B2"].IntValue;
decimal unitPrice = sheet["C2"].DecimalValue;
bool inStock = sheet["D2"].BoolValue;
DateTime? lastAudit = sheet["E2"].DateTimeValue;
Console.WriteLine($"Product : {productName}");
Console.WriteLine($"Qty : {quantity}");
Console.WriteLine($"Price : {unitPrice:C}");
Console.WriteLine($"In Stock : {inStock}");
Console.WriteLine($"Audited : {lastAudit?.ToString("d") ?? "Never"}");
using IronXL;
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Products");
// Typed accessors handle conversion automatically
string productName = sheet["A2"].StringValue;
int quantity = sheet["B2"].IntValue;
decimal unitPrice = sheet["C2"].DecimalValue;
bool inStock = sheet["D2"].BoolValue;
DateTime? lastAudit = sheet["E2"].DateTimeValue;
Console.WriteLine($"Product : {productName}");
Console.WriteLine($"Qty : {quantity}");
Console.WriteLine($"Price : {unitPrice:C}");
Console.WriteLine($"In Stock : {inStock}");
Console.WriteLine($"Audited : {lastAudit?.ToString("d") ?? "Never"}");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("inventory.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Products")
' Typed accessors handle conversion automatically
Dim productName As String = sheet("A2").StringValue
Dim quantity As Integer = sheet("B2").IntValue
Dim unitPrice As Decimal = sheet("C2").DecimalValue
Dim inStock As Boolean = sheet("D2").BoolValue
Dim lastAudit As DateTime? = sheet("E2").DateTimeValue
Console.WriteLine($"Product : {productName}")
Console.WriteLine($"Qty : {quantity}")
Console.WriteLine($"Price : {unitPrice:C}")
Console.WriteLine($"In Stock : {inStock}")
Console.WriteLine($"Audited : {If(lastAudit?.ToString("d"), "Never")}")
Bir hücre formül tuttuğunda, IronXL bunu değerlendirir ve aynı türlenmiş özellikler üzerinden hesaplanmış sonucu döndürür. Ayrı bir değerlendirme yöntemi çağırmanıza gerek yoktur. Kütüphane, boş veya uyumsuz bir tür içerebilecek hücreler için istisna fırlatmak yerine varsayılan değeri döndürür, bu da girdi doğrulama mantığını basitleştirir.
| Özellik | .NET Türü | Boş Olduğunda Döndürür | Açıklamalar |
|---|---|---|---|
StringValue |
string |
Boş dizgi | Her zaman güvenlidir; herhangi bir hücreyi metne dönüştürür |
IntValue |
int |
0 |
Ondalıkları keser |
DecimalValue |
decimal |
0m |
Mali veri için hassasiyeti korur |
DoubleValue |
double |
0.0 |
Bilimsel veya istatistiksel değerler için kullanın |
BoolValue |
bool |
false |
Excel TRUE/FALSE hücrelerini okur |
DateTimeValue |
DateTime? |
null |
Nullable -- kullanmadan önce kontrol edin |
Birden Fazla İsimlendirilmiş Çalışma Sayfası ile Nasıl Çalışırsınız?
İsim, İndeks veya Yineleme ile Erişim
Kurumsal elektronik tablolar genellikle birden fazla isimlendirilmiş sayfa içerir -- her ay için bir, her bölge için bir veya her ürün hattı için bir. IronXL bunlara erişmek için birden fazla yol sunar:
using IronXL;
WorkBook workbook = WorkBook.Load("annual_sales.xlsx");
// Option 1: access by name (throws if the sheet does not exist)
WorkSheet januarySheet = workbook.GetWorkSheet("January");
// Option 2: iterate all sheets in the workbook
foreach (WorkSheet ws in workbook.WorkSheets)
{
Console.WriteLine($"Sheet: {ws.Name} | Rows: {ws.RowCount}");
// Read the header row from each sheet
string header = ws["A1"].StringValue;
Console.WriteLine($" Header: {header}");
}
// Option 3: access by zero-based index
WorkSheet lastSheet = workbook.WorkSheets[workbook.WorkSheets.Count - 1];
Console.WriteLine($"Last sheet: {lastSheet.Name}");
using IronXL;
WorkBook workbook = WorkBook.Load("annual_sales.xlsx");
// Option 1: access by name (throws if the sheet does not exist)
WorkSheet januarySheet = workbook.GetWorkSheet("January");
// Option 2: iterate all sheets in the workbook
foreach (WorkSheet ws in workbook.WorkSheets)
{
Console.WriteLine($"Sheet: {ws.Name} | Rows: {ws.RowCount}");
// Read the header row from each sheet
string header = ws["A1"].StringValue;
Console.WriteLine($" Header: {header}");
}
// Option 3: access by zero-based index
WorkSheet lastSheet = workbook.WorkSheets[workbook.WorkSheets.Count - 1];
Console.WriteLine($"Last sheet: {lastSheet.Name}");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("annual_sales.xlsx")
' Option 1: access by name (throws if the sheet does not exist)
Dim januarySheet As WorkSheet = workbook.GetWorkSheet("January")
' Option 2: iterate all sheets in the workbook
For Each ws As WorkSheet In workbook.WorkSheets
Console.WriteLine($"Sheet: {ws.Name} | Rows: {ws.RowCount}")
' Read the header row from each sheet
Dim header As String = ws("A1").StringValue
Console.WriteLine($" Header: {header}")
Next
' Option 3: access by zero-based index
Dim lastSheet As WorkSheet = workbook.WorkSheets(workbook.WorkSheets.Count - 1)
Console.WriteLine($"Last sheet: {lastSheet.Name}")
Tasarım zamanında sayfa adı biliniyorsa, GetWorkSheet en net seçenektir. Dinamik işleme için -- burada sayfa adları kullanıcı girişi veya yapılandırmadan gelir -- WorkSheets koleksiyonunu yinelemek, sabit kodlanmış varsayımları önler ve farklı sayıda sayfa içeren çalışma kitaplarını işler.
Birleştirilmiş Hücreler ve Biçimlı Bölgeler Nasıl Yönetilir?
Raporlar ve panolar, sıklıkla başlıklar, gruplandırılmış etiketler ve özet satırlar için birleştirilmiş hücreler kullanır. IronXL, birleştirilmiş bir bölgenin sol üst hücresinden değeri okur, tıpkı Excel'in gösterdiği gibi:
using IronXL;
WorkBook workbook = WorkBook.Load("report_with_merges.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// The merged region A1:D1 stores its value in cell A1
string reportTitle = sheet["A1"].StringValue;
Console.WriteLine($"Report title : {reportTitle}");
// Read cell formatting metadata
var titleCell = sheet["A1"];
Console.WriteLine($"Bold : {titleCell.Style.Font.Bold}");
Console.WriteLine($"Font size : {titleCell.Style.Font.Height}");
// Scan an entire column for non-empty section headers
foreach (var cell in sheet["A1:A100"])
{
if (!cell.IsEmpty && cell.Style.Font.Bold)
Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}");
}
using IronXL;
WorkBook workbook = WorkBook.Load("report_with_merges.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// The merged region A1:D1 stores its value in cell A1
string reportTitle = sheet["A1"].StringValue;
Console.WriteLine($"Report title : {reportTitle}");
// Read cell formatting metadata
var titleCell = sheet["A1"];
Console.WriteLine($"Bold : {titleCell.Style.Font.Bold}");
Console.WriteLine($"Font size : {titleCell.Style.Font.Height}");
// Scan an entire column for non-empty section headers
foreach (var cell in sheet["A1:A100"])
{
if (!cell.IsEmpty && cell.Style.Font.Bold)
Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}");
}
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("report_with_merges.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
' The merged region A1:D1 stores its value in cell A1
Dim reportTitle As String = sheet("A1").StringValue
Console.WriteLine($"Report title : {reportTitle}")
' Read cell formatting metadata
Dim titleCell = sheet("A1")
Console.WriteLine($"Bold : {titleCell.Style.Font.Bold}")
Console.WriteLine($"Font size : {titleCell.Style.Font.Height}")
' Scan an entire column for non-empty section headers
For Each cell In sheet("A1:A100")
If Not cell.IsEmpty AndAlso cell.Style.Font.Bold Then
Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}")
End If
Next
Style özelliği ağacı, OOXML SpreadsheetML spesifikasyonunun yapısını yansıtır, bu yüzden daha önce Open XML SDK ile çalıştıysanız, özellik adları size tanıdık gelecektir. Bununla birlikte, IronXL bu karmaşıklığı temiz bir API ile sarar ve tarafınızdan herhangi bir XML manipülasyonu gerektirmez.
Aynı API ile CSV Dosyalarını Nasıl İçe Aktarırsınız?
Veritabanı dışa aktarımları, CRM sistemleri ve eski uygulamalar tarafından üretilen CSV dosyaları aynı WorkBook.Load çağrısı ile okunabilir. IronXL, dosya içeriğinden ayırıcıyı tahmin eder:
using IronXL;
// Load a comma-separated values file -- same method, same API
WorkBook csvWorkbook = WorkBook.Load("export.csv");
WorkSheet csvSheet = csvWorkbook.DefaultWorkSheet;
Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}");
// Process rows exactly like any other worksheet
foreach (var row in csvSheet.Rows)
{
string id = row[0].StringValue;
string name = row[1].StringValue;
Console.WriteLine($"{id,-10} {name}");
}
using IronXL;
// Load a comma-separated values file -- same method, same API
WorkBook csvWorkbook = WorkBook.Load("export.csv");
WorkSheet csvSheet = csvWorkbook.DefaultWorkSheet;
Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}");
// Process rows exactly like any other worksheet
foreach (var row in csvSheet.Rows)
{
string id = row[0].StringValue;
string name = row[1].StringValue;
Console.WriteLine($"{id,-10} {name}");
}
Imports IronXL
' Load a comma-separated values file -- same method, same API
Dim csvWorkbook As WorkBook = WorkBook.Load("export.csv")
Dim csvSheet As WorkSheet = csvWorkbook.DefaultWorkSheet
Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}")
' Process rows exactly like any other worksheet
For Each row In csvSheet.Rows
Dim id As String = row(0).StringValue
Dim name As String = row(1).StringValue
Console.WriteLine($"{id,-10} {name}")
Next
Yüklendikten sonra, verileri csvWorkbook.SaveAs("output.xlsx") kullanarak XLSX olarak kaydedebilirsiniz. Bu, CSV'den Excel'e dönüşüm hatları için yaygın bir kalıptır -- bir CSV dosyası almak, hesaplanmış sütunlar veya formatlama ile zenginleştirmek ve kullanıcıya formatlı bir XLSX raporu olarak geri döndürmek.
Tab ile ayrılmış dosyalar ya da özel ayraçlar için, biçimi açıkça belirtmek amacıyla WorkBook.LoadCSV("file.tsv", fileFormat: ExcelFileFormat.TSV) kullanın.
| Biçim | Uzantı | Tarafından Üretilmiştir | Açıklamalar |
|---|---|---|---|
| XLSX | .xlsx |
Excel 2007+, LibreOffice | Varsayılan modern format; XML tabanlı |
| XLS | .xls |
Excel 97--2003 | İkili format; tam okuma/yazma desteği |
| ODS | .ods |
LibreOffice, OpenOffice | OpenDocument Electronic Tablo standardı |
| CSV | .csv |
Herhangi bir uygulama | Ayırıcı otomatik algılanır; formatlama yok |
| TSV | .tsv |
Veritabanı ihracatları | Sekme ile ayrılmış; formatı açıkça belirt |
IronXL Microsoft.Office.Interop.Excel ile Nasıl Karşılaştırılır?
Interop, Open XML SDK ve IronXL Yan Yana
.NET'te Excel otomasyonu için IronXL'e en yaygın alternatif Microsoft.Office.Interop.Excel'dir. Tavizleri anlamak, projeniz için doğru aracı seçmenize yardımcı olur.
Microsoft Interop, Excel COM nesne modelini sarmalar. Bu, kodunuzu çalıştıran her makinede -- web sunucuları, derleme ajanları ve bulut VM'leri dahil -- Excel'in kurulu olması gerektiği anlamına gelir. COM nesnesi yaşam döngüsü yönetimi manueldir: Her bir Range, Worksheet ve Workbook nesnesini açıkça serbest bırakmanız gerekir, aksi takdirde arka planda Excel işlemleri birikir ve sunucu yeniden başlatılana kadar bellek tüketir. Lisanslama da bir endişe konusudur: Office EULA birçok senaryoda sunucu tarafı otomasyonu yasaklar.
IronXL bu kısıtlamaların hiçbirine tabi değildir. Tamamen yönetilen bir kütüphanedir, hiçbir COM bağımlılığı yoktur. WorkBook nesnesi standart bir .NET sınıfıdır; çöp toplayıcı temizliği yönetir. Aynı kodu bir geliştirici bilgisayarında, bir Azure App Service'te, bir Docker konteynerinde veya Linux çalıştıran bir Raspberry Pi üzerinde çalıştırabilirsiniz.
Microsoft'un Open XML SDK'sı başka bir alternatiftir. Excel gerektirmeden OOXML dosya formatına doğrudan erişim sağlar, ancak çok düşük seviyede çalışır -- XML elemanlarını doğrudan işlersiniz. Tek bir hücre değerini okumak, paylaşılan dize tablolarını, hücre referanslarını ve stil indekslerini gezinmeyi gerektirir. IronXL, bu kılavuz boyunca gösterilen sheet["A1"].StringValue çağrısını tek satırda toplar.
Excel İşlemeyi Linux ve Docker'a Nasıl Dağıtırsınız?
Sunucu dağıtımları, IronXL'nin Excel'den bağımsızlığının en değerli hale geldiği yerdir. Windows'ta yazdığınız aynı kod, Ubuntu, Alpine Linux veya macOS'ta değiştirilmeden çalışır. Konteynerlenmiş dağıtımlar için Dockerfile'ınız özel bir yapılandırma gerektirmez:
# Standard .NET runtime image -- no Office packages needed
FROM mcr.microsoft.com/dotnet/runtime:10.0
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "ExcelProcessor.dll"]
# Standard .NET runtime image -- no Office packages needed
FROM mcr.microsoft.com/dotnet/runtime:10.0
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "ExcelProcessor.dll"]
Azure Functions ve AWS Lambda için, IronXL, yönetilen çalıştırma zamanı içerisinde herhangi bir ek yapılandırma gerektirmeden çalışır. Soğuk başlatma yükü minumumdur çünkü bir COM başlatma adımı yoktur.
İş parçacığı güvenliği yerleşiktir: birden fazla iş parçacığı, koordinasyon olmadan farklı WorkBook örneklerini eşzamanlı olarak açabilir. Kullanıcı yüklemeli elektronik tabloları içeren bir arka plan işinde olduğu gibi, binlerce dosyayı paralel olarak işlemeniz gerekiyorsa, herhangi bir bozulma riski olmadan WorkBook örnekleri havuzunda Parallel.ForEach veya Task.WhenAll kullanabilirsiniz.
Bellek kullanımı tahmin edilebilir kalır çünkü IronXL yalnızca istenen çalışma sayfasını belleğe yükler, başlatma sırasında tüm kitabı değil. Çok büyük dosyalar için bu fark önemlidir: on adet 50MB'lık sayfa içeren bir kitap sadece tek bir sayfayı okumak için 500MB RAM gerektirmez. IronXL performans belgeleri, yüksek hacimli dosya işleme senaryolarını ele almak için ek stratejiler içerir.
Sonraki Adımlarınız Neler?
IronXL'yi projenizde doğrulamanın en hızlı yolu, NuGet paketini yüklemek ve bu kılavuzdaki örnekleri ortamınızdaki gerçek bir dosya karşısında çalıştırmaktır. Bir ücretsiz deneme lisansı tüm özelliklerinizi kod değişikliği gerektirmeden kilitler, üretime hazır olduğunuzda.
Dosya okuma işlemini tamamlayan ilgili IronXL yeteneklerini keşfedin:
- C# ile Excel dosyaları yazın ve oluşturun -- raporlar ve veri dışa aktarımları programlama yoluyla oluşturun
- Hücreleri, satırları ve sütunları biçimlendirin -- kodda renkler, yazı tipleri ve kenarlıklar uygulayın
- C# içinde Excel formülleri ile çalışın -- formül hücrelerini okuyun ve yazın
- Excel'i PDF'ye Dönüştürme .NET'te -- hesap tablosu verilerinden PDF raporları oluşturma
- IronXL API dökümantasyonu -- tüm sınıflar ve metotlar için tam başvuru
- IronXL lisanslama ve fiyatlandırma -- bireysel geliştiriciler ve kurumsal ekipler için seçenekler
- IronXL NuGet sayfası -- tüm proje türleri için kurulum talimatları
- IronXL eğitimleri -- yaygın kullanım senaryoları için adım adım kılavuzlar
- IronXL ile EPPlus'i Karşılaştırın -- özellik ve lisanslama karşılaştırması
- IronXL ürün ana sayfası -- özellik genel bakışı ve başlarken kaynakları
Lisans, çapraz platform desteği veya belirli dosya formatı gereksinimleri hakkında sorular için, IronXL destek ekibi, canlı sohbet ve e-posta aracılığıyla hizmetinizdedir.
Sıkça Sorulan Sorular
Excel kurulu olmadan Open Office Excel dosyalarını C#'da nasıl okuyabilirim?
Sunucunuza Excel kurmanıza gerek kalmadan C#'da Open Office Excel dosyalarını okumak için IronXL kütüphanesini kullanabilirsiniz. Bu yöntemle XLS, XLSX, ODS ve CSV dosyalarını tek bir WorkBook.Load metodu çağrısı ile verimli bir şekilde yükleyebilirsiniz.
IronXL kullanarak hangi tür Excel dosyaları işlenebilir?
IronXL, XLS, XLSX, ODS (OpenDocument Elektronik Tablosu) ve CSV dosyaları dahil olmak üzere çeşitli Excel dosya formatlarını işlemeyi destekler. Bu da LibreOffice ve OpenOffice dahil olmak üzere farklı elektronik tablo uygulamaları için onu çok yönlü yapar.
Geliştiriciler neden Excel dosyalarını okumak için Microsoft Interop yerine IronXL kullanmalıdır?
IronXL, Microsoft Excel veya COM Interop'a ihtiyaç duymadan Excel dosyalarını daha basit ve verimli bir şekilde işleyerek, üretim sunucularındaki karmaşıklığı ve yükü azaltır ve Linux ve Docker dağıtımları sağlar.
IronXL, MS Excel dışındaki elektronik tablo uygulamalarında oluşturulan dosyaları işleyebilir mi?
Evet, IronXL, OpenOffice Calc ve LibreOffice Calc gibi diğer elektronik tablo uygulamalarından dosyaları okuyabilir ve işleyebilir, bu da geliştiricilerin ODS ve ODF uyumlu formatlarla çalışırken esnek bir araç olmasını sağlar.
İşletim sunucularında IronXL kullanmak için Excel'i kurmak gerekli mi?
Hayır, IronXL ile işletim sunucularına Excel kurmanıza gerek yoktur, bu da dağıtımı basitleştirir ve bakım gereksinimlerini azaltır. IronXL, Windows, Linux, macOS ve Docker konteynerlerinde çalışır.
IronXL, CSV dosyalarının işlenmesini destekliyor mu?
Evet, IronXL, CSV dosyalarını okuma ve işleme desteği sunar, aynı zamanda diğer Excel formatları olan XLS, XLSX ve ODS'yi aynı WorkBook.Load API'si ile kullanır.
IronXL, .NET geliştiricileri için ne gibi faydalar sunar?
IronXL, .NET geliştiricilerine Microsoft Excel'e ihtiyaç duymadan Excel dosyalarını okuma, yazma ve manipüle etme konusunda kullanımı kolay bir kütüphane sunar, böylece üretkenliği artırır ve temiz, güçlü türlendirilmiş bir API ile geliştirme süresini azaltır.
IronXL, Excel dosyalarını işleme verimliliğini nasıl artırır?
IronXL, Excel yazılımına ihtiyaç duymayarak verimliliği artırır, türlü hücre değeri erişimcileri sağlar, eş zamanlı işleme sağlar ve Excel dosyalarını doğrudan .NET uygulamaları içinde işleyen hafif bir çözüm sunar.




