Altbilgi içeriğine atla
IRONXL KULLANARAK

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}")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")}")
$vbLabelText   $csharpLabel

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.

IronXL Hücre Değer Özellikleri ve Eşdeğer .NET Türleri
Ö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}")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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.

IronXL'deki Desteklenen Giriş Dosya Biçimları
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"]
SHELL

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:

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.

Şimdi IronXL ile başlayın.
green arrow pointer

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.

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