Excel Dosyalarını C#'te İçe Aktarma

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL, C# geliştiricilerinin XLSX, CSV ve diğer formatları Interop bağımlılığı olmaksızın tek satırda içe aktarmasını sağlar ve hücrelere, aralıklara ve çalışma sayfalarına anında erişime izin verir.

Hızlı Başlangıç: Excel Dosyanızı Anında Yükleyin

IronXL'nin zaman aşımına uğramayan API'sini kullanarak yalnızca bir yöntem çağrısıyla, desteklenen Excel sayfasını (XLSX, CSV vb.) saniyeler içinde yükleyebilirsiniz - Interop yok, uğraş yok. Hemen kitabı etkileşime başlayarak hücrelere, aralıklara veya sayfalara ihtiyaç duydukça erişin.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin

    PM > Install-Package IronXl.Excel
  2. Bu kod parçasını kopyalayıp çalıştırın.

    WorkBook wb = IronXl.WorkBook.Load("path/to/data.xlsx");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

C#'te Excel Verilerini İçe Aktarma

  • IronXL Kütüphanesi ile Veri İçe Aktarma
  • C#'te Excel verilerini içe aktarma
  • Belirli bir hücre aralığının verilerini içe aktarma
  • IronXL Kütüphanesi ile SUM, AVG, MIN, MAX ve daha fazla toplu işlevleriyle Excel verilerini içe aktarma
How To Work related to Excel Dosyalarını C#'te İçe Aktarma

Adim 1

IronXL Kütüphanesini Yükleme

IronXL Excel İçe Aktarmayı Kolaylaştırır

Bu eğitimde kullanacağımız IronXL Excel kütüphanesi tarafından sağlanan işlevleri kullanarak verileri içe aktarın. Yazılım, geliştirme için ücretsiz olarak mevcuttur. IronXL, Microsoft Office veya Interop bağımlılığı gerektirmeyen anlaşılır bir C# Excel API sağlar. Bu, sunucu ortamları ve bulut konuşlandırmaları için idealdir.

Yükleme Yöntemleri

DLL İndirmesi yoluyla C# Projenize kurun veya NuGet paketi kullanarak gidin. Detaylı yükleme kılavuzu için başlangıç özetimize göz atın.

Install-Package IronXl.Excel

Nasıl Yapılır Eğitimi

Projenizdeki Bir Çalışma Sayfasına Erişim

Temel Çalışma Kitabı Yükleme Süreci

Bugünkü proje ihtiyaçlarımız için Excel verilerini IronXL yazılımında C# uygulamamıza içe aktaracağız. Kütüphane, çeşitli Excel formatlarını destekler ve elektronik tabloları yüklemek için sezgisel yöntemler sağlar.

Adım 2 için, IronXL'nin WorkBook.Load() işlevini kullanarak Excel WorkBook'umuzu CSharp projemize yükleyeceğiz. Excel Çalışma Kitabının yolunu bu fonksiyona bir dize parametresi olarak aktararak geçiyoruz:

// Load Excel file
WorkBook wb = WorkBook.Load("Path");
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
' Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
$vbLabelText   $csharpLabel

Belirtilen yoldaki Excel dosyası wb içerisine yüklenecektir. Bu yöntem, XLSX, XLS, CSV, TSV ve diğer yaygın elektronik tablo formatlarını destekler.

Belirli Bir Çalışma Sayfasına Erişim

Sonraki adımda projeye içe aktarılacak Excel dosyasının belirli bir Çalışma Sayfasına erişmemiz gerekecek. Bu amaçla, İçe aktarılacak WorkBook'un hangi sayfası olduğunu belirtmek için sayfa adını bir dize parametresi olarak geçerek IronXL'nin GetWorkSheet() işlevini kullanabiliriz. Çalışma sayfalarını yönetme hakkında daha fazla bilgi edinin comprehensive guide.

// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
' Specify sheet name of Excel WorkBook
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
$vbLabelText   $csharpLabel

WorkSheet ws olarak içe aktarılacak ve wb yukarıdaki kod örneğinde tanımladığımız WorkBook'tur.

Çalışma Sayfalarına Erişmek İçin Alternatif Yöntemler

Projeye Excel Çalışma Sayfası içe aktarmanın mevcut alternatif birkaç yolu var. Her yöntem, özel kullanım durumunuza göre esneklik sağlar:

// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
' Import WorkSheet by various methods

' by sheet indexing
Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex)

' get default WorkSheet
Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet

' get first WorkSheet
Dim firstSheet As WorkSheet = wb.WorkSheets.First()

' for the first or default sheet
Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault()
$vbLabelText   $csharpLabel

Şimdi, belirtilmiş Excel dosyalarından herhangi bir türde veri kolayca içe aktarabiliriz. Projemiz için Excel dosyası verilerini içe aktarmanın tüm olası yönlerini inceleyelim.


Excel Verilerini C#'te İçe Aktarma

Temel Hücre İçe Aktarma Yöntemi

Bu, projeye Excel dosyası verilerini içe aktarmanın temel aspekti. IronXL, hücre verilerine erişmek için birden çok yol sağlar, bu da farklı senaryolar için esneklik sunar.

Bu amaçla, hangi hücre verilerini içe aktarmamız gerektiğini belirtmek için bir hücre adresleme sistemi kullanabiliriz. Excel dosyasındaki belirli bir hücre adresinin değeri:

var cellValue = ws["Cell Address"];
var cellValue = ws["Cell Address"];
Dim cellValue = ws("Cell Address")
$vbLabelText   $csharpLabel

Satır ve Sütun İndeksleri Kullanarak Veri İçe Aktarma

Ayrıca Excel dosyalarından satır ve sütun indekslerini kullanarak hücre verilerini içe aktarabiliriz. Bu kod satırı, belirilen satır ve sütun indeksinin değerini döndürür. Bu yaklaşım, verilerin programlı olarak yinelemeli işlenmesi sırasında özellikle kullanışlıdır:

var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
$vbLabelText   $csharpLabel

İçe Aktarılan Değerleri Değişkenlerde Saklama

İçe aktarılan hücre değerlerini değişkenlere atamak için bu kodu kullanın. ToString() metodu string değişkenler ile uyumluluğu sağlar, ancak gerektiğinde diğer tiplere de dönüştürebilirsiniz:

// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
' Import Data by Cell Address
' by cell addressing
Dim val As String = ws("Cell Address").ToString()

' by row and column indexing
Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()

' for numeric values
Dim numericValue As Decimal = ws("B2").DecimalValue

' for date values
Dim dateValue As DateTime = ws("C2").DateTimeValue
$vbLabelText   $csharpLabel

Yukarıdaki örnekler, satır ve sütun indeksinin 0'da başladığını göstermektedir. Daha gelişmiş hücre işlemleri için hücreleri temizleme ve hücreleri kopyalama kılavuzumuzu keşfedin.


Belirli Bir Aralıktan Veri İçe Aktarma

Aralık Fonksiyonu Sentezi

To import data in a specific range from an Excel WorkBook, use the range function. Başlangıç ve bitiş hücre adreslerini tanımlayarak aralığı belirleyin. Belirtilen aralıktaki tüm hücre değerlerini döndürür. Kapsamlı aralık seçimi teknikleri için aralık seçimi kılavuzumuza bakın.

var rangeData = ws["Starting Cell Address:Ending Cell Address"];
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
$vbLabelText   $csharpLabel

Tam Aralık İçe Aktarma Örneği

Excel dosyalarında aralık çalışması hakkında daha fazla bilgi ve verileri farklı yöntemlerle çekme hakkında daha fazla bilgi edinin. Aşağıdaki örnek, hem bireysel hücre değerleri hem de aralıklar içe aktarma işlemini göstermektedir:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs
using IronXL;
using System;

// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);

Console.WriteLine("import Values in Range From B3 To B9 :\n");

// Import data in specific range
foreach (var item in ws["B3:B9"])
{
    Console.WriteLine(item.Value.ToString());
}

Console.ReadKey();
Imports IronXL
Imports System

' Import Excel WorkBook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Import data of specific cell
Dim val As String = ws("A4").Value.ToString()
Console.WriteLine("Import Value of A4 Cell address: {0}", val)

Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)

' Import data in specific range
For Each item In ws("B3:B9")
    Console.WriteLine(item.Value.ToString())
Next

Console.ReadKey()
$vbLabelText   $csharpLabel

Yukarıdaki kod aşağıdaki çıktıyı görüntüler:

Konsol çıktısı, Midmarket değeri ve Almanya, Meksika, Kanada dahil ülke listesi ile Excel aralığı B3:B9 içe aktarma sonuçlarını gösteriyor

With the values of Excel file sample.xlsx as:

Satış verilerini gösteren Excel elektronik tablosu, içe aktarma işlemi sırasında aralık seçimi için mavi vurgulu hücreleri gösteriyor

Toplu İşlevleri Kullanarak Excel Verilerini İçe Aktarma

Kullanılabilir Toplu İşlevler

Excel dosyalarına toplu işlevler uygulayın ve bu işlevlerden elde edilen verileri içe aktarın. IronXL, veri analizini basit kılan yerleşik matematik işlevleri sağlar. İşte farklı işlevlerin ve kullanımlarının örnekleri:

  • Sum()

    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    ' To find the sum of a specific cell range
    Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
    $vbLabelText   $csharpLabel
  • Average()

    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    ' To find the average of a specific cell range
    Dim average = ws("Starting Cell Address:Ending Cell Address").Avg()
    $vbLabelText   $csharpLabel
  • Min()

    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    ' To find the minimum in a specific cell range
    Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
    $vbLabelText   $csharpLabel
  • Max()

    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    ' To find the maximum in a specific cell range
    Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
    $vbLabelText   $csharpLabel

Birden Çok Toplu İşlevi Birlikte Kullanma

Excel için C#'ta toplu işlevlerle çalışmayı ve verileri farklı yöntemlerle çekme hakkında daha fazla bilgi edinin. Bu işlevler, özet istatistikler oluşturmak veya içe aktarılan verileri doğrulamak için özellikle kullanışlıdır.

Bu işlevleri uygulayarak Excel dosyası verilerini içe aktarma örneği görebilirsiniz:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs
using IronXL;
using System;

// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();

Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);

Console.ReadKey();
Imports IronXL
Imports System

' Import Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Import Excel file data by applying aggregate functions
Dim sum As Decimal = ws("D2:D9").Sum()
Dim avg As Decimal = ws("D2:D9").Avg()
Dim min As Decimal = ws("D2:D9").Min()
Dim max As Decimal = ws("D2:D9").Max()

Console.WriteLine("Sum From D2 To D9: {0}", sum)
Console.WriteLine("Avg From D2 To D9: {0}", avg)
Console.WriteLine("Min From D2 To D9: {0}", min)
Console.WriteLine("Max From D2 To D9: {0}", max)

Console.ReadKey()
$vbLabelText   $csharpLabel

Yukarıdaki kod bize bu çıktıyı veriyor:

Konsol çıktısı, Excel toplu işlevlerini gösteriyor: D2 ile D9 arası aralık için Sum=452, Avg=56.5, Min=5, Max=350

Ve dosyamız sample.xlsx şu değerleri içerir:

Satış verilerini gösteren Excel elektronik tablosu, toplu işlev analizine yönelik değerleri içeren vurgulanmış Satış Fiyatı sütununu gösteriyor

Tam Excel Dosyası Verisini İçe Aktarma

ToDataSet Yöntemi

Tam Excel dosyası verilerini C# projesine içe aktarmak için önce yüklenen Çalışma Kitabını bir DataSet'e parse edin. Bu şekilde, tamamı Excel verileri DataSet'e içe aktarılmış olur ve Excel dosyalarındaki Çalışma Sayfaları bu DataSet içinde DataTables haline gelir. Bu yaklaşım, veritabanı işlemleri veya veri bağlama kontrolleri ile çalışırken özellikle faydalıdır. DataSet olarak içe aktarma ve dışa aktarma hakkında daha fazla bilgi edinin.

// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
' Import WorkBook into DataSet
Dim ds As DataSet = wb.ToDataSet()
$vbLabelText   $csharpLabel

Belirtilen Çalışma Sayfamız bu method ile gereksinimlerinize uygun olarak bir DataSet'e içe aktarılır. Bu yöntem, birden fazla sayfa ile aynı zamanda çalışırken veya Excel verilerini ADO.NET işlemleri ile entegre ederken özellikle güçlüdür.

Sütun Başlıklarını Ele Alma

Çoğu zaman, bir Excel dosyasının ilk satırı sütun adları olarak hizmet eder. Bu durumda, birinci satırı DataTable sütun adları yapın. IronXL'nin ToDataSet() işlevinin Boolean parametresini şu şekilde ayarlayın:

// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
' Import WorkBook into DataSet with first row as ColumnNames
Dim ds As DataSet = wb.ToDataSet(True)
$vbLabelText   $csharpLabel

Bu, Excel dosyasının ilk satırını DataTable sütun adları yapar ki bu, yapılandırılmış Excel verisi ile çalışırken veri yapı bütünlüğünü sağlamak için esastır.

Tam VeriSeti İthalat Örneği

Excel verilerini bir DataSet'e aktarma ve bir Excel ÇalışmaSayfası'nın ilk satırını DataTable sütun adları olarak kullanmanın tam bir örneğini görün:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs
using IronXL;
using System;
using System.Data;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);

Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
Imports IronXL
Imports System
Imports System.Data

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Import Excel data into a DataSet
Dim ds As DataSet = wb.ToDataSet(True)

Console.WriteLine("Excel file data imported to dataset successfully.")
Console.ReadKey()
$vbLabelText   $csharpLabel

Excel Dataset ve DataTable fonksiyonları ile çalışmak karmaşık olabilir, ancak dosya verilerini C# projenize dahil etmek için daha fazla örneğimiz mevcuttur. İleri düzey senaryolar için, DataTable aracılığıyla Excel'den SQL'e Excel yüklemeyle ilgili kılavuzlarımızı incelemeyi düşünün.


Kutuphane Hizli Erişim

IronXL Referansını keşfedin

Hücreler, aralık, veri kümeleri ve veri tabloları aracılığıyla Excel verilerini çekmeyi IronXL için tam belgelenmiş API Referansımızda daha fazla öğrenin.

IronXL Referansını keşfedin
Documentation related to Kutuphane Hizli Erişim

Sıkça Sorulan Sorular

Microsoft Office kullanmadan C#'de Excel dosyası nasıl içe aktarılır?

Microsoft Office veya Interop bağımlılıkları gerektirmeyen IronXL kullanarak C#'de Excel dosyalarını içe aktarabilirsiniz. Dosya yolunuzu WorkBook.Load() yönteminde basitçe kullanarak: WorkBook wb = WorkBook.Load("path/to/data.xlsx"). Bu, XLSX, XLS, CSV, TSV ve diğer formatlarla çalışır.

Bu C# kütüphanesi ile hangi Excel dosya formatlarını içe aktarabilirim?

IronXL, XLSX, XLS, CSV, TSV ve diğer yaygın tablo formatlarını içe aktarmayı destekler. Aynı WorkBook.Load() yöntemi tüm bu formatları otomatik olarak işler.

Sunucularda veya bulut ortamlarında Excel verilerini içe aktarmak mümkün müdür?

Evet, IronXL, Microsoft Office veya Interop bağımlılıklarına gerek kalmadan sunucu ortamları ve bulut dağıtımlar için idealdir. Bu, web uygulamaları, Azure fonksiyonları ve diğer sunucu tarafı senaryolar için mükemmeldir.

Excel verileriyle içeri aktarmadan sonra ne kadar hızlı çalışabilirim?

IronXL'nin zaman aşımı olmayan API'si sayesinde, herhangi bir desteklenen Excel çalışma sayfasını sadece tek satır kodla saniyeler içinde yükleyebilirsiniz. WorkBook.Load() kullandıktan sonra hücrelerle, aralıklarla veya çalışma sayfaları anında etkileşime girebilirsiniz.

Excel dosyalarından belirli hücre aralıklarını içe aktarabilir miyim?

Evet, IronXL, çalışma kitabını yükledikten sonra belirli hücre aralıklarından veri içe aktarmanıza izin verir. Sağlanan sezgisel API'yi kullanarak bireysel hücrelere, aralıklara veya tüm çalışma sayfalarına erişebilirsiniz.

C# için Excel içe aktarma kütüphanesini nasıl kurarım?

IronXL'yi NuGet Paket Yöneticisi aracılığıyla veya doğrudan DLL indirerek kurabilirsiniz. Kütüphane, geliştirme için ücretsiz olarak mevcuttur ve başlamak için kapsamlı belgeler sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 1,974,422 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronXl.Excel
bir örnek çalıştırın verilerinizin bir elektronik tabloya dönüştüğünü izleyin.