Altbilgi içeriğine atla
IRONXL KULLANARAK

C# ile Yüklü Olmadan Open Office Excel Dosyalarını Nasıl Okunur

C#'ta Hesapla Dosyası (ODS) ve Excel dosyalarını okumak ve işlemek doğru kütüphane kullanıldığında basittir. IronXL ile IronXL, herhangi bir XLS, XLSX, ODS veya CSV dosyasını tek bir yöntem çağrısıyla WorkBook nesnesine yüklersiniz -- Microsoft Excel kurulumu, COM kaydı veya Interop sıkıntısı olmadan. Bu kılavuz, paketin kurulumu, dosyaların yüklenmesi, türleştirilmiş hücre değerlerinin çıkarılması, adlandırılmış çalışma sayfaları ile çalışma, birleştirilmiş hücrelerin yönetimi ve Linux'a veya konteynerli ortamlara dağıtım gibi her adımı size gösterir.

Bir .NET Projesine IronXL Nasıl Kurulur?

NuGet Paket Yöneticisi Kurulumu

NuGet Paket Yöneticisi aracılığıyla projeye IronXL ekleyin. Visual Studio'da Paket Yöneticisi Konsolunu açın ve çalıştırın:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

IronXL, .NET 8, .NET 9, .NET 10, .NET Framework 4.6.2+ ve .NET Standard 2.0'i hedefler, bu nedenle hem modern hem de eski kod yapılarına uyar. Paket yüklendikten sonra, hesap tabloları ile çalışan herhangi bir dosyanın üstüne using IronXL; yönergesini ekleyin ve ilk çalışma kitabınızı yüklemeye hazırsınız.

Azure Fonksiyonlar, Docker konteynerleri veya Linux üzerinde barındırılan API'ler için ek bir çalışma zamanı yapılandırması gerekmez. Kütüphane, içerdiği her şeyi dahili olarak paketler ve Excel otomasyon bileşenlerine çağrı yapmaz.

OpenOffice veya Excel Dosyasını C#'ta Nasıl Yüklersiniz?

IronXL, WorkBook.Load yöntemi aracılığıyla ODS, XLS, XLSX ve CSV dosyalarını aynı şekilde ele alır. Mutlak veya göreli bir dosya yolu geçersiniz ve kütüphane formatı dosya başlığından algılar -- sadece uzantıdan değil. Bu, .ods'den .xlsx'ye yeniden adlandırılan bir dosyanın 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ı için çalışır -- sadece yolu değiştirin. Kaynak formatından bağımsız olarak aynı güçlü türde nesneyi döndüren WorkBook.Load, bu nedenle kodunuzun geri kalanı, dosyanın Microsoft Excel, LibreOffice veya başka herhangi bir ODF uyumlu uygulamadan gelmesine bağlı olarak aynı kalır.

Bir Çalışma Sayfasındaki Her Satır ve Hücreyi Nasıl Okursunuz?

Satırlar Koleksiyonunun Yinelemesi

Tüm satır ve hücreler üzerinde döngü yapmak, en yaygın Excel işleme görevidir -- ister ithalat verilerini doğrulayın, ister kayıtları dönüştürün veya bir raporlama hattını besleyin. IronXL, her bir WorkSheet üzerinde bir Rows koleksiyonu sunar:

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 dolu olan aralığı döndürür -- boş son satır ve sütunlar dahil edilmez. Okumadan önce cell.IsEmpty'i kontrol etmek, seyrek sayfalarda gereksiz işlemeyi önler.

Büyük dosyalar için, tam sayfa yerine aralık tabanlı erişim (worksheet["A1:D500"]) kullanmayı düşünün. Bu, belleğe yüklenen hücreleri sınırlar ve sadece verilerin bir alt kümesine ihtiyaç duyduğunuzda işlemeyi hızlandırır.

Hücrelerden Türlenmiş Değerler Nasıl Çıkarılır?

Türlenmiş Özellik Erişicileri

Gerçek dünyadaki bir elektronik tabloda hücreler dizeler, tam sayılar, ondalık sayılar, boole ifadeleri ve tarihler içerir. IronXL, asla ham dizeleri elle ayrıştırmaya ihtiyaç duymamanız için adanmış türlenmiş özellikler sunar:

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 bir formül tuttuğunda, IronXL bunu değerlendirir ve aynı türlenmiş özellikler aracılığıyla hesaplanan sonucu döndürür. Ayrı bir değerlendirme yöntemini çağırmanıza gerek yoktur. Boş olabilecek veya uyumsuz bir tür içerebilecek hücreler için, kütüphane bu türün varsayılan değerini döndürür, bu da giriş 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ülen Notlar
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 Nulldeger -- kullanımdan önce kontrol edin

Birden Fazla İsimlendirilmiş Çalışma Sayfası ile Nasıl Çalışırsınız?

İsim, İndeks veya Döngü ile Erişin

Kurumsal elektronik tablolar genellikle, ay başına bir, bölge başına bir veya ürün hattı başına bir olmak üzere, birkaç isimlendirilmiş sayfa içerir. IronXL, onlara erişmeniz için çeşitli yollar 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ı bilindiğinde, GetWorkSheet en net seçenektir. Dinamik işlem için -- sayfa adlarının kullanıcı girişi veya yapılandırmadan geldiği yer -- WorkSheets koleksiyonunu döngüleyerek sert kodlanmış varsayımlardan kaçınır ve farklı sayıda sayfaya sahip çalışma kitaplarını işler.

Birleştirilmiş Hücreler ve Biçimlendirilmiş Bölgeler Nasıl İşlenir?

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, Excel'de gösterildiği gibi okur:

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 özellik ağacı, OOXML SpreadsheetML spesifikasyonu'nun yapısını yansıtır, bu nedenle özelliğe adları, Open XML SDK ile çalıştıysanız tanıdık gelir. Ancak, IronXL bütün bu karmaşıklığı, sizin tarafınızdan herhangi bir XML işlemi gerektirmeyen temiz bir API içine sarar.

Aynı API ile CSV Dosyaları Nasıl İçe Aktarılır?

Veritabanı dışa aktarımları, CRM sistemleri ve eski uygulamalar tarafından üretilen CSV dosyaları, aynı WorkBook.Load çağrısı ile okunabilir. IronXL, ayracı dosya içeriğinden çıkarır:

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üklemeden sonra, verileri csvWorkbook.SaveAs("output.xlsx") kullanarak XLSX olarak kaydedebilirsiniz. Bu, CSV'den Excel'e dönüşüm kanalları için yaygın bir desendir -- bir CSV dosyası alır, hesaplanmış sütunlar veya biçimlendirme ile zenginleştirir ve kullanıcıya biçimlendirilmiş bir XLSX raporu döndürür.

Sekmeyle ayrılmış dosyalar veya özel ayırıcılar için, formatı açıkça belirtmek için WorkBook.LoadCSV("file.tsv", fileFormat: ExcelFileFormat.TSV) kullanın.

IronXL'de Desteklenen Giriş Dosya Biçimleri
Format Uzantı Üretilen Tarafından Notlar
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 Elektronik Tablo standardı
CSV .csv Herhangi bir uygulama Ayracı otomatik algılama; biçimlendirme yok
TSV .tsv Veritabanı dışa aktarımları Sekme ayrımlı; biçimi açıkça belirtin

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'a 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 sarar. Bu, kodunuzun çalıştığı her makinede Excel'in kurulu olması gerektiği anlamına gelir -- web sunucuları, yapı ajanları ve bulut VM'leri dahil. COM nesne yaşam döngüsü yönetimi el ile yapılır: her bir Range, Worksheet ve Workbook nesnesini açıkça serbest bırakmalısınız, aksi takdirde Excel işlemleri arka planda birikir ve sunucu yeniden başlatılana kadar bellek tüketir. Lisanslama da bir kaygıdır: Office EULA, birçok senaryoda sunucu tarafı otomasyonunu yasaklar.

IronXL tüm bu kısıtlamalardan kaçınır. COM bağımlılığı olmayan, tamamen yönetilen bir kütüphanedir. WorkBook nesnesi standart bir .NET sınıfıdır; çöp toplayıcı temizliği yönetir. Aynı kodu, geliştirici dizüstü bilgisayarında, bir Azure App Service'de, bir Docker konteynerinde veya Linux çalıştıran bir Raspberry Pi'de çalıştırabilirsiniz.

Microsoft'un Open XML SDK'si başka bir alternatiftir. Excel gerektirmeden OOXML dosya formatına doğrudan erişim sağlar, ancak çok düşük seviyede çalışır -- XML öğeleri doğrudan işlenir. Tek bir hücre değerini okumak, paylaşılan dize tablolarına, hücre referanslarına ve stil dizinlerine gitmeyi gerektirir. IronXL, bu rehber boyunca gösterilen tek satırlık sheet["A1"].StringValue çağrısında hepsini bir araya getirir.

Excel İşlemeyi Linux ve Docker'a Nasıl Dağıtırsınız?

Sunucu dağıtımları, IronXL'ın Excel'den bağımsızlığının en çok değerli olduğu yerlerdir. Windows'ta yazdığınız aynı kod, Ubuntu, Alpine Linux veya macOS'ta değişmeden çalışır. Kapsülleme 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 Fonksiyonları ve AWS Lambda için, IronXL yönetilen çalışma zamanı içinde hiçbir ek yapılandırma gerektirmeden çalışır. Soğuk başlangıç yükü minimaldir çünkü bir COM başlatma adımı yoktur.

Çoklu iş parçacığı güvenliği vardır: birden fazla iş parçacığı, eşzamanlileştirme olmadan farklı WorkBook örneklerini açabilir. Binlerce dosyayı paralel işlem yapmanız gerekiyorsa -- örneğin, kullanıcı tarafından yüklenen hesap tablolarını içeren bir arka plan işinde -- Parallel.ForEach veya Task.WhenAll'i bir havuzdaki WorkBook örneklerinde kullanabilirsiniz, bozulma riski olmadan.

Bellek kullanımı öngörülebilir kalır çünkü IronXL yalnızca istenen çalışma sayfasını belleğe yükler, başlatma sırasında tüm defteri değil. Çok büyük dosyalar için, bu ayrım önemlidir: 50MB'lık on çalışma sayfası içeren bir defter, yalnızca tek bir sayfayı okumak için 500MB RAM gerektirmez. IronXL performans dokümantasyonu, yüksek hacimli dosya işleme senaryoları için ek stratejiler içerir.

Sıradaki Adımlarınız Neler?

Projenizde IronXL'ı doğrulamanın en hızlı yolu, NuGet paketini yüklemek ve bu kılavuzdaki örnekleri çevrenizden gerçek bir dosya ile çalıştırmaktır. Bir ücretsiz deneme lisansı, üretime hazır olduğunuzda hiçbir kod değişikliği gerektirmeden tüm özelliklerin kilidini açar.

Dosya okuma işlemini tamamlayan ilgili IronXL özelliklerini keşfedin:

Lisanslama, çapraz platform desteği veya belirli dosya format gereksinimleri hakkında sorularınız için, IronXL destek ekibi, canlı sohbet ve e-posta yoluyla ulaşılabilir.

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

Sıkça Sorulan Sorular

C#'da Excel yüklü olmadan Open Office Excel dosyalarını nasıl okuyabilirim?

IronXL kütüphanesini kullanarak sunucunuza Excel yüklemeden Open Office Excel dosyalarını C#'da okuyabilirsiniz. XLS, XLSX, ODS ve CSV dosyalarını tek bir WorkBook.Load metodu ile verimli bir şekilde yüklemenizi sağlar.

IronXL kullanarak hangi tür Excel dosyaları işlenebilir?

IronXL, LibreOffice ve OpenOffice gibi farklı hesap tablosu uygulamaları için XLS, XLSX, ODS (OpenDocument Elektronik Tablosu) ve CSV dosyalarını içeren çeşitli Excel dosya formatlarını işleyerek çok yönlülük sağlar.

Excel dosyalarını okumak için geliştiriciler neden Microsoft Interop yerine IronXL kullanmalı?

IronXL, Microsoft Excel veya COM Interop'a ihtiyaç duymadan Excel dosyalarını daha basit ve verimli bir şekilde yönetir ve üretim sunucularındaki karmaşıklığı ve yükü azaltarak Linux ve Docker dağıtımlarına olanak tanır.

IronXL, MS Excel dışında diğer hesap tablosu uygulamalarında oluşturulan dosyaları yönetebilir mi?

Evet, IronXL, OpenOffice Calc ve LibreOffice Calc gibi diğer hesap tablosu uygulamalarının dosyalarını okuyabilir ve işleyebilir, bu da ODS ve ODF uyumlu formatlarla çalışan geliştiriciler için esnek bir araç haline getirir.

IronXL kullanmak için üretim sunucularına Excel yüklemek gerekli mi?

Hayır, IronXL ile, üretim sunucularına Excel yüklemenize gerek yoktur. Bu, dağıtımı basitleştirir ve bakım gereksinimlerini azaltır. IronXL, Windows, Linux, macOS ve Docker konteynırlarında çalışır.

IronXL, CSV dosyalarının işlenmesini destekliyor mu?

Evet, IronXL, CSV dosyalarını okumayı ve işlemeyi tam olarak destekler ve aynı WorkBook.Load API'si ile diğer Excel formatları gibi XLS, XLSX ve ODS dosyalarını da işlemenizi sağlar.

.NET geliştiricileri için IronXL kullanmanın faydaları nelerdir?

IronXL, Microsoft Excel'e ihtiyaç duymadan Excel dosyalarını okuma, yazma ve manipüle etme için kolay bir kütüphane sunarak, geliştirme süresini azaltmak için temiz, güçlü bir şekilde yazılmış bir API ile verimliliği artırır.

IronXL, Excel dosyalarını yönetmede verimliliği nasıl artırır?

IronXL, Excel yazılım ihtiyaçını ortadan kaldırarak verimliliği artırır. Tipli hücre değeri erişicileri, iş parçacığı güvenli eşzamanlı işlemeyi ve .NET uygulamaları içinde doğrudan Excel dosyalarını işleyen hafif bir çözüm 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