C# İle Excel Dosyalarını Nasıl İçe Aktarırım

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

IronXL, C# geliştiricilerinin tek satır bir kodla Excel verilerini içe aktarmalarını sağlar, Interop bağımlılıklarına ihtiyaç duymadan XLSX, CSV ve diğer formatları destekler, böylece veri işleme için hücrelere, aralıklara ve çalışma sayfalarına anında erişim sağlar.

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

IronXL'ın zaman aşımı ücretsiz API'sini kullanarak bir yöntem çağrısı ile desteklenen herhangi bir Excel sayfasını (XLSX, CSV vb.) saniyeler içinde yükleyebilirsiniz - Interop yok, karışıklık yok. Hücrelere, aralıklara veya sayfalara ihtiyaç duyduğunuzda erişerek, çalışma kitabıyla hemen etkileşim kurmaya başlayın.

  1. IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronXL.Excel
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

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

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

    arrow pointer

Excel Verilerini C#'ya İçe Aktar

  • IronXL Kütüphanesi ile Veri İçe Aktarma
  • Excel verilerini C#'da İçe Aktarma
  • Belirli hücre aralığının verilerini içe aktarma
  • IronXL kütüphanesindeki toplam, ortalama, en düşük, en yüksek ve daha fazla toplama işlevleri ile Excel verilerini içe aktarın
How To Work related to C# İle Excel Dosyalarını Nasıl İçe Aktarırım

Adım 1

IronXL Kütüphanesini Yükleme

IronXL, Excel İçe Aktarımını Kolaylaştırır

Bu öğreticide 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ıkları gerektirmeden Excel dosyalarıyla çalışmayı kolaylaştıran kapsamlı bir C# Excel API'si sağlar. Bu, sunucu ortamları ve bulut dağıtımları için idealdir.

Yükleme Yöntemleri

DLL İndirme yoluyla C&diyez; Projenize Yükleme veya NuGet paketi kullanarak gezinin. Yükleme hakkında detaylı rehberlik için başlarken genel bakış kılavuzumuzu inceleyin.

Install-Package IronXL.Excel

Nasıl Rehberi

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 C# uygulamamıza, 1. adımda yüklenen IronXL yazılımını kullanarak içe aktaracağız. Kütüphane, çeşitli Excel formatlarını destekler ve hesap tablolarını yüklemek için sezgisel yöntemler sağlar.

  1. adımda, IronXL'in WorkBook.Load() işlevini kullanarak Excel WorkBook dosyamızı C# projemize yükleyeceğiz. Bu işlevde Excel WorkBook yolunu bir dize parametresi olarak aktarıyoruz:
// 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çine yüklenecektir. Bu yöntem, XLSX, XLS, CSV, TSV ve diğer yaygın hesap tablosu formatlarını destekler.

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

Ardından, verileri projeye aktarılacak olan Excel dosyasının belirli bir WorkSheet bölümüne erişmemiz gerekiyor. Bu amaçla, IronXL'nin GetWorkSheet() işlevini kullanabilir ve WorkBook'nin hangi sayfasının içe aktarılacağını belirtmek için sayfa adını bir dize parametresi olarak geçirebiliriz. Çalışma sayfalarını yönetme hakkında daha fazla bilgi için kapsamlı rehberimizi inceleyin.

// 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'dir.

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

Excel WorkSheet dosyasını projeye içe aktarmak için aşağıdaki alternatif yöntemler mevcuttur. Her yöntem, belirli kullanım senaryonuza bağlı olarak 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

Artık belirtilen Excel dosyalarından tüm veri türlerini kolayca içe aktarabiliriz. Projemizde Excel dosya verilerini içe aktarmanın tüm olası yönlerini keşfedelim.


C# İle Excel Verilerini İçe Aktarma

Temel Hücre İçe Aktarma Yöntemi

Bu, proje için Excel dosya verilerini içe aktarmanın temel yönüdür. IronXL, farklı senaryolar için esnek hale getirerek hücre verilerine erişmenin birden çok yolunu sağlar.

Bu amaçla, içe aktarılması gereken hücre verilerinin adres sistemini kullanarak belirleyebiliriz. Excel dosyasından belirli bir hücre adresinin değerini döndürür:

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

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

Excel dosyalarından hücre verilerini satır ve sütun indekslerini kullanarak da içe aktarabiliriz. Bu kod satırı, belirtilen satır ve sütun indekslerinin değerini döndürür. Veri üzerinde programlamatik olarak yineleme yaparken bu yaklaşım özellikle faydalı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 Depolama

İçe aktarılan hücre değerlerini değişkenlere atamak için bu kodu kullanın. ToString() yöntemi, dize değişkenleriyle uyumluluğu sağlar, ancak gerektiğinde diğer türlere 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 örneklerde, satır ve sütun indeksleri 0'dan başlar. Daha ileri hücre işlemleri için, hücreleri temizleme ve hücreleri kopyalama ile ilgili rehberimizi keşfedin.


Belirli Bir Aralıktan Veri İçe Aktarma

Aralık Fonksiyonu Söz Dizimi

Excel WorkBook dosyasından belirli bir aralıktaki verileri içe aktarmak için range işlevini kullanın. Başlangıç ve bitiş hücre adreslerini tanımlayarak aralığı tanımlayın. Belirtilen aralıktaki tüm hücre değerlerini döndürür. Kapsamlı aralık seçme teknikleri için, aralık seçin rehberlerimize göz atı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ıklı çalışma hakkında daha fazla bilgi edinin ve farklı yöntemlerle veri çekmeyi öğrenin. Aşağıdaki örnek, hem bireysel hücre değerlerinin hem de aralıkların içe aktarımını 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ı, Almanya, Meksika, Kanada dahil olmak üzere orta pazar değeri ve ülke listesini içeren Excel aralığı B3:B9 içe aktarma sonuçlarını gösterir

Excel dosyası sample.xlsx içindeki değerler şu şekildedir:

Satış verileri içeren Excel hesap tablosu, ithalat sürecinde aralık seçimi için mavi vurgulanmış hücrelerle gösterilmektedir

Toplama İşlevleri Kullanarak Excel Verilerini İçe Aktarma

Mevcut Toplama İşlevleri

Excel dosyalarına toplama işlevleri uygulayın ve bu işlevlerden elde edilen verileri içe aktarın. IronXL, verilerin analizi kolaylaştıran yerleşik matematik işlevleri sağlar. İşte farklı işlevlerin kullanımına dair örnekler:

  • 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

Birlikte Birden Çok Toplama İşlevi Kullanma

C# için Excel'de toplama işlevleriyle ilgili daha fazla bilgi edinin ve veriyi farklı yöntemlerle çekmeyi öğrenin. Bu işlevler, özet istatistikler üretmek veya içe aktarılan verileri doğrulamak için özellikle faydalıdır.

Bu işlevleri uygulayarak Excel dosya verilerini içe aktaran bir örneğe bakın:

: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 şu çıktıyı verir:

Konsol çıktısı, D2 'den D9' a kadar olan aralık için Toplam=452, Ort=56,5, Min=5, Maks=350 Excel toplama işlevlerini gösterir

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

Satış fiyatı sütununda öne çıkarılmış değerleri gösteren satış verilerine sahip Excel hesap tablosu, toplama işlev analizi için içerir

Tam Excel Dosya Verilerini İçe Aktarma

ToDataSet Yöntemi

Excel dosyasının tüm verilerini bir C# projesine aktarmak için, önce yüklenen WorkBook öğesini DataSet öğesine ayrıştırın. Bu şekilde, Excel verilerinin tamamı DataSet içine aktarılır ve Excel dosyalarındaki WorkSheets, o DataTables içinde DataSet haline gelir. Bu yaklaşım, veritabanı işlemleri veya veri bağlı kontroller ile çalışırken özellikle faydalıdır. DataSet olarak içe 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

Bu, gereksinimlere göre kullanılmak üzere belirtilen WorkSheet öğesini bir DataSet öğesine aktarır. Bu yöntem, birden fazla sayfa ile aynı anda çalışırken veya Excel verilerini ADO.NET işlemleri ile entegre ederken özellikle güçlüdür.

Sütun Başlıklarını İşleme

Çoğu zaman, bir Excel dosyasının ilk satırı sütun isimleri olarak hizmet eder. Bu durumda, ilk satırı DataTable sütun adları yapın. IronXL'nin ToDataSet() işlevinin boolean parametresini aşağıdaki gibi 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 DataTable sütun adlarının ilk satırını oluşturur; bu, yapılandırılmış Excel verileriyle çalışırken veri yapısının bütünlüğünü korumak için gereklidir.

Tam Veri Kümesi İçe Aktarma Örnek

Excel verilerini bir DataSet dosyasına aktarma ve bir Excel WorkSheet dosyasının ilk satırını DataTable sütun adları olarak kullanma konusunda eksiksiz bir örneği inceleyin:

: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 işlevleriyle çalışmak karmaşık olabilir, ancak dosya verilerini C# projenize dahil etmek için daha fazla örnek sunuyoruz. Gelişmiş senaryolar için, DataTable aracılığıyla Excel'den SQL'e ve SQL veritabanından Excel'e yükleme ile ilgili kılavuzlarımızı inceleyebilirsiniz.


Kütüphaneye Hızlı Erişim

IronXL Referansını Keşfedin

IronXL için tam dokümantasyon API Referansımızda hücreler, aralık, veri kümeleri ve veri tabloları aracılığıyla Excel verilerini çekme hakkında daha fazla bilgi edinin.

IronXL Referansını Keşfedin
Documentation related to Kütüphaneye Hızlı Erişim

Sıkça Sorulan Sorular

Microsoft Office kullanmadan C# dilinde bir Excel dosyasını nasıl içe aktarırım?

IronXL kullanarak, Microsoft Office veya Interop bağımlılıkları olmadan C# dilinde Excel dosyalarını içe aktarabilirsiniz. Basitçe dosya yolunuzla WorkBook.Load() yöntemini kullanın, örneğin: 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 elektronik tablo formatlarını içe aktarmayı destekler. Tüm bu formatlar otomatik olarak WorkBook.Load() yöntemi ile işlenir.

EXCEL verilerini sunucularda veya bulut ortamlarında içe aktarmak mümkün mü?

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

Veri içe aktardıktan sonra Excel verileriyle ne kadar hızlı çalışmaya başlayabilirim?

IronXL'nin zaman aşımı olmayan API'si sayesinde, Excel verilerini sadece bir satır kod ile bir saniye içinde yükleyebilirsiniz. WorkBook.Load() kullanmaktan sonra, hücrelerle, aralıklarla veya çalışma sayfalarıyla hemen etkileşime başlayabilirsiniz.

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 olanak tanır. Sağlanan sezgisel API ile tekli 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?

İronXL'i, NuGet Paket Yöneticisi aracılığıyla veya doğrudan DLL yükleyerek kurabilirsiniz. Kütüphane geliştirme için ücretsiz olarak mevcuttur ve başlangıç için kapsamlı belgeler 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
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,052,917 | Sürüm: 2026.6 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronXL.Excel
örnek çalıştır verinizin bir hesap tablosu haline geldiğini izleyin.