Altbilgi içeriğine atla
IRONXL KULLANARAK

IronXL kullanarak C#'da Excel Verilerini Nasıl İçe Alırsınız

Microsoft Excel dosyaları ile çalışmak, birçok .NET geliştiricisi için günlük bir gerekliliktir. Müşteri verilerini içeri aktarmak, finansal raporları işlemek veya verileri elektronik tablolardan veritabanlarına taşımak söz konusu olduğunda, geliştiricilerin karmaşık bağımlılıklar olmadan veya Excel yüklü olmasını gerektirmeyen güvenilir bir şekilde Excel dosyalarını okuyabilmeleri gereklidir. Microsoft.Office.Interop aracılığıyla COM otomasyonu gibi geleneksel yaklaşımlar tam bir Office kurulumu gerektirir, platform kısıtlamaları getirir ve kırılgan dağıtım bağımlılıkları oluşturur. IronXL, platformlar arası çalışan basit bir çözüm sunar, bu sorunların tümünü ortadan kaldırır ve Excel işlemlerini yönetilen .NET kodundan doğrudan gerçekleştirmenizi sağlar.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 1 - IronXL

IronXL Nasıl Kurulur ve Excel İçe Aktarma Nasıl Başlanır?

IronXL ile C#'ta Excel içe aktarma işlemine başlamak sadece dakikalar alır. Excel kütüphanesi, hem eski XLS hem de modern XLSX formatlarını, ayrıca CSV, TSV ve diğer elektronik tablo formatlarını işler. Microsoft.Office.Interop.Excel'e bağımlı çözümlerin aksine, IronXL herhangi bir .NET veya .NET Core platformunda bağımsız olarak çalışır.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 2 - Çapraz Platform

IronXL'yi NuGet Paket Yöneticisi veya .NET CLI aracılığıyla yükleyin. Visual Studio'da NuGet Paketlerini Yönet iletişim kutusunu da kullanabilir ve "IronXL" için arama yapabilirsiniz:

Install-Package IronXL.Excel

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 3 - Kurulum

Tam kurulum detayları, sürüm uyumluluğu ve bağımlılık notları dahil olmak üzere IronXL NuGet kurulum kılavuzuna başvurun. Ek runtime bağımlılıkları veya Office bileşenleri gerekmiyor -- paket kendi başına yeterlidir. Paket yüklendikten sonra, Excel verilerini içe aktarmak basittir:

using IronXL;

// Load any Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
// Access the first worksheet
WorkSheet sheet = workBook.WorkSheets[0];
// Read a cell value
string value = sheet["B1"].StringValue;
Console.WriteLine(value);
using IronXL;

// Load any Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
// Access the first worksheet
WorkSheet sheet = workBook.WorkSheets[0];
// Read a cell value
string value = sheet["B1"].StringValue;
Console.WriteLine(value);
Imports IronXL

' Load any Excel file
Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
' Access the first worksheet
Dim sheet As WorkSheet = workBook.WorkSheets(0)
' Read a cell value
Dim value As String = sheet("B1").StringValue
Console.WriteLine(value)
$vbLabelText   $csharpLabel

Bu kod, temel iş akışını göstermektedir: bir çalışma kitabı yüklemek, bir çalışma sayfasına erişmek ve hücre değerlerini okumak. WorkBook.Load() yöntemi, dosya biçimini otomatik olarak algılar -- XLS, XLSX veya CSV olup olmadığını. Sezgisel indeksleyici söz dizimi sheet["B1"], hücrelere erişimi dizilerle çalışmak kadar doğal hale getirir. Mevcut üyeler ve aşırı yüklemeler için tam referans için, IronXL API dokümantasyonu'na bakın.

Örnek Giriş

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 4 - Excel Girişi

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 5 - Konsol Çıkışı

Excel Verilerini C# Nesnelerine Nasıl Okuyorsunuz?

Gerçek uygulamalar, tek hücre değerinden daha fazlasına ihtiyaç duyar. IronXL, tüm veri kümelerini içe aktarma ve bunları kullanılabilir C# nesnelerine dönüştürme konusunda mükemmeldir. Yapılandırılmış Excel verilerini içe aktarmanız gerektiğinde, kütüphane doğrudan alan modellerinize eşlenen birden fazla yaklaşım sunar.

Aşağıdaki örnek bir çalışma sayfasından satırları okur ve her satırı türü belirlenmiş Product nesnesine eşler:

using IronXL;

// Load the Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Map rows to typed objects
var products = new List<Product>();
foreach (var row in sheet.Rows)
{
    var product = new Product
    {
        Id = row.Columns[0].IntValue,
        Name = row.Columns[1].StringValue,
        Price = row.Columns[2].DecimalValue,
        IsAvailable = row.Columns[3].BoolValue
    };
    products.Add(product);
}

foreach (var product in products)
{
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " +
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    );
}
using IronXL;

// Load the Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Map rows to typed objects
var products = new List<Product>();
foreach (var row in sheet.Rows)
{
    var product = new Product
    {
        Id = row.Columns[0].IntValue,
        Name = row.Columns[1].StringValue,
        Price = row.Columns[2].DecimalValue,
        IsAvailable = row.Columns[3].BoolValue
    };
    products.Add(product);
}

foreach (var product in products)
{
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " +
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    );
}
Imports IronXL

' Load the Excel file
Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Map rows to typed objects
Dim products As New List(Of Product)()
For Each row In sheet.Rows
    Dim product As New Product With {
        .Id = row.Columns(0).IntValue,
        .Name = row.Columns(1).StringValue,
        .Price = row.Columns(2).DecimalValue,
        .IsAvailable = row.Columns(3).BoolValue
    }
    products.Add(product)
Next

For Each product In products
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " &
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    )
Next
$vbLabelText   $csharpLabel

Türü belirlenmiş özellikler -- IntValue, StringValue, DecimalValue ve BoolValue -- tür dönüştürmesini otomatik olarak yapar. Bu yaklaşım, farklı veri türlerinden oluşan sütunlarla çalışırken el ile ayrıştırmayı ortadan kaldırır ve hataları azaltır. Birçok geliştirici Stack Overflow'da bu tür güvenli Excel veri aktarma yaklaşımını takdir eder.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 6 - Nesne Çıkışı

Hücre Aralıkları ve LINQ ile Nasıl Çalışırsınız?

Toplu hesaplamalar ve filtrelenmiş sorgular için, IronXL yerleşik LINQ uyumluluğu ile birlikte aralık işlemlerini destekler:

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Read a named cell range
Range dataRange = sheet["A1:D5"];

// Calculate aggregates directly on a range
decimal sum = sheet["C1:C5"].Sum();
Console.WriteLine($"Sum of C1:C5: {sum}");

decimal max = sheet["C1:C5"].Max(c => c.DecimalValue);
Console.WriteLine($"Max of C1:C5: {max}");

// Filter using LINQ
var highValueOrders = dataRange
    .Where(cell => cell.DecimalValue > 100)
    .Select(cell => cell.Value)
    .ToList();

Console.WriteLine("Orders above 100:");
foreach (var order in highValueOrders)
{
    Console.WriteLine(order);
}
using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Read a named cell range
Range dataRange = sheet["A1:D5"];

// Calculate aggregates directly on a range
decimal sum = sheet["C1:C5"].Sum();
Console.WriteLine($"Sum of C1:C5: {sum}");

decimal max = sheet["C1:C5"].Max(c => c.DecimalValue);
Console.WriteLine($"Max of C1:C5: {max}");

// Filter using LINQ
var highValueOrders = dataRange
    .Where(cell => cell.DecimalValue > 100)
    .Select(cell => cell.Value)
    .ToList();

Console.WriteLine("Orders above 100:");
foreach (var order in highValueOrders)
{
    Console.WriteLine(order);
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Read a named cell range
Dim dataRange As Range = sheet("A1:D5")

' Calculate aggregates directly on a range
Dim sum As Decimal = sheet("C1:C5").Sum()
Console.WriteLine($"Sum of C1:C5: {sum}")

Dim max As Decimal = sheet("C1:C5").Max(Function(c) c.DecimalValue)
Console.WriteLine($"Max of C1:C5: {max}")

' Filter using LINQ
Dim highValueOrders = dataRange _
    .Where(Function(cell) cell.DecimalValue > 100) _
    .Select(Function(cell) cell.Value) _
    .ToList()

Console.WriteLine("Orders above 100:")
For Each order In highValueOrders
    Console.WriteLine(order)
Next
$vbLabelText   $csharpLabel

Range sınıfı, aynı anda birden fazla hücreye koleksiyon benzeri bir erişim sağlar. LINQ uyumluluğu, Excel verilerini tanıdık C# desenlerini kullanarak dönüştürmeden filtrelemenizi, dönüştürmenizi ve toplamanızı sağlar. Sum() ve Max() gibi yerleşik toplama yöntemleri, doğrudan hücre aralıklarında çalışır. Workbook verilerini okuma hakkında daha fazla detay için, IronXL Excel dosyası okuma rehberine bakınız.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 7 - Aralık Çıkışı

C#'ta Excel DataTable'a Nasıl Dönüştürülür?

DataTable dönüşümü, veritabanı işlemleri ve veri bağlama senaryoları için gereklidir. IronXL, Excel'den DataSet veya DataTable'a dönüşümleri yöneten yerleşik yöntemler sağlar. Bu özellik, Excel çalışma sayfalarını SQL Server veya diğer ilişkisel veritabanlarına aktarmanız gerektiğinde özellikle faydalıdır. Sonuçta çıkan nesne standart bir System.Data.DataTable olduğundan, veri erişim katmanınızda herhangi bir değişiklik yapmanıza gerek kalmadan herhangi bir ADO.NET uyumlu kod yoluyla çalışır.

using IronXL;
using System.Data;
using System.Data.SqlClient;

// Load Excel file
WorkBook workBook = WorkBook.Load("inventory.xlsx");
// Select the first worksheet
WorkSheet sheet = workBook.WorkSheets.First();

// Convert to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

// Use SqlBulkCopy to insert directly into SQL Server
string connectionString = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString))
{
    bulkCopy.DestinationTableName = "Inventory";
    bulkCopy.WriteToServer(dataTable);
}
using IronXL;
using System.Data;
using System.Data.SqlClient;

// Load Excel file
WorkBook workBook = WorkBook.Load("inventory.xlsx");
// Select the first worksheet
WorkSheet sheet = workBook.WorkSheets.First();

// Convert to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

// Use SqlBulkCopy to insert directly into SQL Server
string connectionString = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString))
{
    bulkCopy.DestinationTableName = "Inventory";
    bulkCopy.WriteToServer(dataTable);
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

' Load Excel file
Dim workBook As WorkBook = WorkBook.Load("inventory.xlsx")
' Select the first worksheet
Dim sheet As WorkSheet = workBook.WorkSheets.First()

' Convert to DataTable -- first row becomes column headers
Dim dataTable As DataTable = sheet.ToDataTable(True)

' Use SqlBulkCopy to insert directly into SQL Server
Dim connectionString As String = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;"
Using bulkCopy As New SqlBulkCopy(connectionString)
    bulkCopy.DestinationTableName = "Inventory"
    bulkCopy.WriteToServer(dataTable)
End Using
$vbLabelText   $csharpLabel

ToDataTable() yöntemi, ilk satırın başlık içerip içermediğini belirten bir boolean parametresi kabul eder. true ayarlandığında, IronXL otomatik olarak ilk satır değerlerini sütun adları olarak kullanır. Ortaya çıkan DataTable, herhangi bir ek yapılandırma gerektirmeden ADO.NET, Entity Framework ve veri bağlama kontrolleri ile bütünleşir.

Dönüşüm süreci üzerinde daha fazla kontrol sahibi olmak için, DataTable'ı manuel olarak oluşturabilirsiniz:

using IronXL;
using System.Data;

WorkBook workBook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();

// Build DataTable manually for custom column types or validation
DataTable customTable = new DataTable();

for (int col = 0; col < sheet.ColumnCount; col++)
{
    customTable.Columns.Add($"Column{col + 1}", typeof(string));
}

foreach (var row in sheet.Rows)
{
    var dataRow = customTable.NewRow();
    for (int col = 0; col < sheet.ColumnCount; col++)
    {
        dataRow[col] = row.Columns[col].Value ?? DBNull.Value;
    }
    customTable.Rows.Add(dataRow);
}

// Print headers
foreach (DataColumn column in customTable.Columns)
{
    Console.Write($"{column.ColumnName}\t");
}
Console.WriteLine();

// Print data rows
foreach (DataRow row in customTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System.Data;

WorkBook workBook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();

// Build DataTable manually for custom column types or validation
DataTable customTable = new DataTable();

for (int col = 0; col < sheet.ColumnCount; col++)
{
    customTable.Columns.Add($"Column{col + 1}", typeof(string));
}

foreach (var row in sheet.Rows)
{
    var dataRow = customTable.NewRow();
    for (int col = 0; col < sheet.ColumnCount; col++)
    {
        dataRow[col] = row.Columns[col].Value ?? DBNull.Value;
    }
    customTable.Rows.Add(dataRow);
}

// Print headers
foreach (DataColumn column in customTable.Columns)
{
    Console.Write($"{column.ColumnName}\t");
}
Console.WriteLine();

// Print data rows
foreach (DataRow row in customTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
Imports IronXL
Imports System.Data

Dim workBook As WorkBook = WorkBook.Load("inventory.xlsx")
Dim sheet As WorkSheet = workBook.WorkSheets.First()

' Build DataTable manually for custom column types or validation
Dim customTable As New DataTable()

For col As Integer = 0 To sheet.ColumnCount - 1
    customTable.Columns.Add($"Column{col + 1}", GetType(String))
Next

For Each row In sheet.Rows
    Dim dataRow = customTable.NewRow()
    For col As Integer = 0 To sheet.ColumnCount - 1
        dataRow(col) = If(row.Columns(col).Value, DBNull.Value)
    Next
    customTable.Rows.Add(dataRow)
Next

' Print headers
For Each column As DataColumn In customTable.Columns
    Console.Write($"{column.ColumnName}" & vbTab)
Next
Console.WriteLine()

' Print data rows
For Each row As DataRow In customTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}" & vbTab)
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

Bu yaklaşım, içe aktarma sırasında size tam esneklik sağlar. Boş değerler DBNull.Value'ya dönüştürülerek yönetilir, bu da veri tabanı sütun kısıtlamaları ile uyumluluk sağlar. Dosyalara veri yazma konusunda daha fazla rehberlik için, IronXL Excel dosyası yazma rehberine bakınız.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 8 - DataTable Çıkışı

Formüller, Çok Sayfalı Çalışma Kitapları ve Entity Framework ile Nasıl Çalışırsınız?

IronXL, karmaşık gerçek dünya senaryoları için özelliklerle temel okuma dışında gider. Kütüphane, Excel formüllerini koruyarak hesaplamaların dinamik olarak değerlendirilmesine olanak tanır. Karmaşık Excel çalışma kitapları ile çalışan geliştiriciler için, bu özellik, veri bütünlüğünü içe aktarma süreci boyunca korur.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 9 - Özellikler

Formülleri ve Hesaplanmış Değerleri Okuma

using IronXL;

WorkBook workBook = WorkBook.Load("FinancialReport.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Reports");

// Read the evaluated result of a formula cell
decimal calculatedTotal = sheet["E10"].DecimalValue;
Console.WriteLine($"Total: {calculatedTotal}");

// Read the formula string itself
string formula = sheet["E10"].Formula;
Console.WriteLine($"Formula: {formula}"); // e.g. "=SUM(E2:E9)"
using IronXL;

WorkBook workBook = WorkBook.Load("FinancialReport.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Reports");

// Read the evaluated result of a formula cell
decimal calculatedTotal = sheet["E10"].DecimalValue;
Console.WriteLine($"Total: {calculatedTotal}");

// Read the formula string itself
string formula = sheet["E10"].Formula;
Console.WriteLine($"Formula: {formula}"); // e.g. "=SUM(E2:E9)"
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("FinancialReport.xlsx")
Dim sheet As WorkSheet = workBook.GetWorkSheet("Reports")

' Read the evaluated result of a formula cell
Dim calculatedTotal As Decimal = sheet("E10").DecimalValue
Console.WriteLine($"Total: {calculatedTotal}")

' Read the formula string itself
Dim formula As String = sheet("E10").Formula
Console.WriteLine($"Formula: {formula}") ' e.g. "=SUM(E2:E9)"
$vbLabelText   $csharpLabel

Formül desteği, karmaşık hesaplamalara sahip Excel dosyalarını iş mantığını kodda yeniden yaratmadan içe aktarma anlamına gelir. Kütüphane formülleri otomatik olarak değerlendirir, orijinal formül dizgesini korurken hesaplanmış değerler döndürür. Bu, iç içe geçmiş formüller içeren finansal modeller veya raporlama şablonlarını içe aktarırken çok değerli olduğunu kanıtlar.

Çapraz platform uyumluluğu, Windows, Linux, macOS ve konteyner ortamlarında tutarlı davranış sağlar. Bu, Office kurulumunun mümkün olmadığı bulut dağıtımları ve mikro hizmetler için IronXL'i iyi bir uyum haline getirir. .NET Foundation'ın belgeleri, modern .NET uygulamalarının platform bağımsızlığından nasıl faydalandığını vurgular.

Excel Verilerini Entity Framework ile Bütünleştirme

Entity Framework entegrasyonu, doğrudan Excel-veritabanı hatları oluşturur. Aşağıdaki örnek, .NET 10 üst düzey ifadelerle temiz bir şekilde çalışır:

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Skip the header row, map remaining rows to entity objects
var products = sheet.Rows
    .Skip(1)
    .Select(row => new Product
    {
        Name = row.Columns[0].StringValue,
        Price = row.Columns[1].DecimalValue
    })
    .ToList();

using var context = new AppDbContext();
await context.Products.AddRangeAsync(products);
await context.SaveChangesAsync();

Console.WriteLine($"Imported {products.Count} products.");
using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Skip the header row, map remaining rows to entity objects
var products = sheet.Rows
    .Skip(1)
    .Select(row => new Product
    {
        Name = row.Columns[0].StringValue,
        Price = row.Columns[1].DecimalValue
    })
    .ToList();

using var context = new AppDbContext();
await context.Products.AddRangeAsync(products);
await context.SaveChangesAsync();

Console.WriteLine($"Imported {products.Count} products.");
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Skip the header row, map remaining rows to entity objects
Dim products = sheet.Rows _
    .Skip(1) _
    .Select(Function(row) New Product With {
        .Name = row.Columns(0).StringValue,
        .Price = row.Columns(1).DecimalValue
    }) _
    .ToList()

Using context As New AppDbContext()
    Await context.Products.AddRangeAsync(products)
    Await context.SaveChangesAsync()
End Using

Console.WriteLine($"Imported {products.Count} products.")
$vbLabelText   $csharpLabel

Bu model, minimal kodla doğrudan Excel-veritabanı göçünü sağlar ve ETL süreçleri, tek seferlik veri aktarımları ve planlanmış içe aktarma işleri için iyi bir uyum sağlar. LINQ projeksiyonu, bağlam kaydetmeden önce bellekte çalıştığından, geç validation veya dönüştürme mantığını aynı adımda uygulayabilirsiniz. C# verilerinden yeni Excel dosyaları oluşturmak için, IronXL Excel dosyası oluşturma rehberine bakınız.

Desteklenen Dosya Biçimları

IronXL, herhangi bir ek kütüphane veya Office kurulumu gerektirmeden çeşitli elektronik tablolama formatlarını işler. Aşağıdaki tablo, desteklenen formatları ve kullanım durumlarını özetler:

IronXL tarafından desteklenen Excel Dosya Biçimları
Biçim Uzantı Açıklamalar
Excel Çalışma Kitabı .xlsx Excel 2007 ve sonrası için varsayılan format
Eski Excel Çalışma Kitabı .xls Daha eski Excel sürümleri ile uyumlu
Virgülle Ayrılmış Değerler .csv Yaygın olarak desteklenen düz metin tablo verileri
Sekmeyle Ayrılmış Değerler .tsv Gömülü virgüller içeren veriler için uygun
Excel İkili Çalışma Kitabı .xlsb Büyük dosyalar için kompakt ikili format

Bu formatlara veri ihraç etmek için IronXL Excel ihraç kılavuzuna bakın.

İthalat sırasında Hücre Biçimlendirmesi Nasıl Yönetilir?

Excel dosyalarını içe aktarırken, hücre biçimlendirmesini korumak veya incelemek, ham değerleri okumak kadar önemlidir. IronXL, her hücre için yazı tipi, renk, hizalama ve kenarlık özelliklerini sunar, böylece doğrulama kuralları uygulayabilir veya stilleri programlı olarak yeniden üretebilirsiniz. Bu, görsel biçimlendirmenin anlamsal anlam taşıdığı raporlar için özellikle faydalıdır - örneğin, risk seviyelerini gösteren renkli hücreler veya toplamları işaretleyen kalın satırlar.

Örneğin, hücrelerin kalın metin içerip içermediğini kontrol etmek isteyebilirsiniz - bir sıranın özet veya toplam sıra olduğunu gösteren yaygın bir işaret - içe aktarılan veri kümesine dahil edilip edilmeyeceğine karar vermeden önce:

using IronXL;

WorkBook workBook = WorkBook.Load("StyledReport.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

foreach (var row in sheet.Rows)
{
    var firstCell = row.Columns[0];

    // Skip rows where the first cell is bold (typically header or total rows)
    if (firstCell.Style.Font.Bold)
    {
        continue;
    }

    Console.WriteLine($"Data row: {firstCell.StringValue}");
}
using IronXL;

WorkBook workBook = WorkBook.Load("StyledReport.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

foreach (var row in sheet.Rows)
{
    var firstCell = row.Columns[0];

    // Skip rows where the first cell is bold (typically header or total rows)
    if (firstCell.Style.Font.Bold)
    {
        continue;
    }

    Console.WriteLine($"Data row: {firstCell.StringValue}");
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("StyledReport.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

For Each row In sheet.Rows
    Dim firstCell = row.Columns(0)

    ' Skip rows where the first cell is bold (typically header or total rows)
    If firstCell.Style.Font.Bold Then
        Continue For
    End If

    Console.WriteLine($"Data row: {firstCell.StringValue}")
Next
$vbLabelText   $csharpLabel

Sayı formatı dizeleri ve arka plan renk erişimini de içeren hücre ve aralık biçimlendirmesi konusunda tam bir referans için IronXL hücre biçimlendirme rehberina bakın. İşlemden sonra çıktı dosyalarına birleşme işlemleri de uygulayabilirsiniz - IronXL hücre birleştirme rehberina bakın.

Projeniz İçin Doğru IronXL Lisansını Nasıl Seçersiniz?

IronXL, projenizin ölçeğine uygun esnek lisanlama seçenekleri sunar. Değerlendirme için ücretsiz deneme lisansı mevcuttur ve geliştirme sırasında zaman sınırlaması olmadan tüm özelliklere erişim sağlar. Deneme sürümü, geçerli bir üretim lisansı ile kaldırılacak olan çıkış dosyalarına bir filigran ekler.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 10 - Lisanslama

Üretim uygulamaları geliştiren ekipler için, IronXL lisanslama, bireysel geliştiriciler, ekipler ve organizasyon genelinde dağıtımlar için seçenekler içerir. Tüm üretim lisansları şunları içerir:

  • Telif ücretsiz yeniden dağıtım hakları
  • IronXL geliştirme ekibinden öncelikli destek
  • Lisans süresi boyunca tüm geçerli ve küçük sürüm güncellemelerine erişim

IronXL'yi diğer Excel kütüphaneleri ile değerlendiriyorsanız, IronXL özellikler genel bakış her seviyede neler içerdiğini detaylı bir şekilde açıklar.

Bugün projenizde IronXL kullanmaya başlamak için IronXL ürün sayfasını ziyaret edin veya IronXL dökümantasyonuna doğrudan başlayın; kurulum kılavuzları, nasıl yapılır makaleleri ve kütüphanedeki her özelliği kapsayan API referansları için.

Sıkça Sorulan Sorular

Excel verilerini C#'da nasıl içe aktarabilirim?

IronXL kullanarak Excel verilerini C#'da kolayca içe aktarabilirsiniz, sisteminizde Microsoft Excel kurulu olması gerekmez.

Excel dosyası işleme için IronXL kullanmanın avantajları nelerdir?

IronXL, geliştiricilerin karmaşık bağımlılıklar olmadan Excel dosyalarını okuyup yazmalarını ve manipüle etmelerini sağlar ve farklı platformlarda çalışır.

IronXL'yi kullanmak için Microsoft Office yüklemem gerekiyor mu?

Hayır, IronXL, C# uygulamalarınız içinde Excel dosyaları ile çalışmanıza olanak tanıyan Microsoft Office kurulumu ihtiyacını ortadan kaldırır.

IronXL hem XLSX hem de CSV dosya formatlarını işleyebilir mi?

Evet, IronXL, çeşitli Veri işleme ihtiyaçlarınız için çok çeşitli Excel dosya formatlarını, incluyendo XLSX ve CSV'yi destekler.

IronXL, büyük Excel dosyalarını işlemeye uygun mu?

Evet, IronXL, performans sıkıntısı yaşamadan geniş veri kümelerini işlemeye olanak tanır ve büyük Excel dosyalarını verimli bir şekilde işlemek üzere tasarlanmıştır.

IronXL hangi platformları destekler?

IronXL, Excel dosyalarını işleyen uygulamaların çapraz platformda geliştirilmesi ve dağıtılmasına olanak tanıyan birden fazla platformla uyumludur.

Excel'den veritabanlarına veri aktarmayı IronXL nasıl kolaylaştırır?

IronXL, Excel sayfalarından veri okuma ve dışa aktarma işlemlerini kolaylaştırarak, veritabanlarına veri aktarmayı karmaşık kodlama olmadan kolaylaştırır.

IronXL ile Excel rapor oluşturmayı otomatikleştirebilir miyim?

Evet, IronXL, C#'da Excel dosyalarını programatik olarak oluşturup manipüle etmenize olanak tanıyan Excel rapor oluşturma işlemlerini otomatikleştirmenize olanak tanır.

IronXL hem küçük ölçekli hem de kurumsal düzeydeki uygulamalar için uygun mu?

IronXL, Excel dosyası manipülasyonu gerektiren hem küçük ölçekli projeler hem de büyük kurumsal düzeydeki uygulamalar için uygun esnek ve ölçeklenebilir bir çözümdür.

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