Altbilgi içeriğine atla
IRONXL KULLANARAK
IronXL ile Oledb Kullanılmadan C#'de Excel'i DataTable'ye Dönüştürme

C#'da oledb Olmadan Excel'i Datatable'a Nasıl Dönüştürürsünüz

Microsoft Excel, Microsoft tarafından oluşturulmuş sağlam bir elektronik tablo programıdır. Veri organizasyonu, analizi ve görselleştirmesi için yaygın olarak kullanılan bir araçtır. Microsoft'un Office paketinin bir parçasıdır. Çeşitli özellikleri nedeniyle, Excel profesyoneller, bireyler, organizasyonlar ve üniversiteler tarafından kullanılabilecek çok yönlü bir araçtır.

Excel, finans, muhasebe, iş analizi, veri analizi, araştırma, eğitim ve daha fazlası dahil olmak üzere birçok sektörde yaygın olarak kullanılmaktadır. Çok yönlülüğü ve kapsamlı özellik seti nedeniyle, hem kişisel hem de profesyonel durumlarda verileri organize etmek, değerlendirmek ve sunmak için tercih edilen araçtır. Bu makalede, C# dilinde OLEDB bağlantısı olmadan Excel'i bir DataTable'a dönüştüreceğiz.

C# Dilinde Excel'i OLEDB Olmadan DataTable'a Nasıl Dönüştürebilirsiniz?

  1. Yeni bir Visual Studio projesi oluşturun.
  2. Gereken kütüphaneyi yükleyin.
  3. Excel dosyasını bir objeye yükleyin.
  4. Belirli yöntemler kullanarak Excel sayfası verilerini bir DataTable'a dönüştürün.
  5. Gereken şekilde DataTable'ı kullanın.

IronXL Kutuphanesi

.NET programlarında Excel dosyalarını işlemek için Microsoft Interop'a bir alternatif, IronXL'dir. Microsoft Interop, Excel ile bağlantı kurmak için Interop derlemeleri kullanmayı gerektirirken, IronXL, .NET ortamlarında Excel dosyalarını programlı olarak manipüle etmenin daha basit, daha verimli ve daha güçlü bir yolunu sunar.

IronXL kullanmanın bazı avantajları şunlardır:

  • Performans ve Kaynak Ekonomisi: IronXL, performans ve kaynak verimliliği açısından Microsoft Interop'tan daha iyi performans gösterir, çünkü PC üzerinde Excel programının yüklenmesine bağlı değildir.
  • Okunabilirlik ve Basitlik: IronXL, Microsoft Interop'un dezavantajları olmadan Excel dosyalarını okuma, yazma ve işleme işlemleri için daha basit bir API sunar.
  • Uyumluluk ve Bağımlılık: IronXL, PC üzerinde Microsoft Excel'in kurulu olmasına gerek duymayarak, farklı Office veya Excel sürümleriyle olası uyumluluk sorunlarını ve bağımlılıkları ortadan kaldırır.
  • Platform Bağımsızlığı: Microsoft Interop belirli Microsoft Office sürümlerine daha yakından bağlıdırken, IronXL, daha geniş bir ortam ve platform yelpazesinde daha fazla esneklik ve dağıtım basitliği sağlar.

IronXL daha hızlı, kullanımı daha kolay ve daha az üçüncü taraf yazılım yüklemesi gerektirdiğinden, programlı olarak Excel dosyalarıyla çalışması gereken .NET geliştiricileri için genellikle tercih edilen bir seçenektir. Ancak, projelerin özelliği, mevcut altyapı ve kullanıcının her bir kütüphaneye aşinalığı seçimlerini etkileyebilir.

Bu çözümlerden birini seçerken, uygulamanızın ihtiyaçlarını her zaman dikkate alın. IronXL kütüphanesi hakkında daha fazla bilgi için bu web sitesini ziyaret edin.

Visual Studio'da Yeni Proje Oluşturma

Visual Studio'yu açmak için menüden File üzerine tıklayın ve "Yeni Proje"yi seçin. Ardından, "Windows Forms Uygulaması"nı seçin.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 1

Dosya konumunu seçtikten sonra, proje adını uygun metin alanına girin. Sonra, "Create" düğmesine tıklayın ve aşağıdaki örnekte gösterildiği gibi gerekli .NET Framework'ü seçin.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 2

Seçilen uygulama türü, Visual Studio projesinin nasıl yapılandırılacağını belirleyecektir. Kod eklemek için, Program.cs dosyasını girerek uygulamayı konsol, Windows veya web uygulaması olarak çalıştırabilir ya da oluşturabilirsiniz.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 3

Sonraki adımda, gerekli kütüphaneyi ekleyin ve kodu test edin.

IronXL Kütüphanesini Yükleme

IronXL kütüphanesini yüklemek için, NuGet Package Manager Console'u açın ve aşağıdaki komutu girin:

Install-Package IronXl.Excel

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 4

Alternatif olarak, NuGet Paket Yöneticisi'ni kullanarak "IronXL" paketini arayabilirsiniz. Bu, IronXL ile ilgili NuGet paketleri listesini gösterir ve ihtiyaçınız olanı seçebilirsiniz.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 5

Excel Dosyasını Veri Tablosuna Dönüştürme

Aşağıdaki kod, paketi yükledikten sonra bir Excel dosyasının nasıl okunacağını ve onu DataTable'a dönüştüreceğini göstermektedir.

// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
' Necessary namespaces for IronXL and application namespaces
Imports IronXL
Imports System
Imports System.Data
Imports System.Windows.Forms

Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		''' <summary>
		''' Exports data from an Excel file specified by the user through a file dialog.
		''' </summary>
		''' <param name="filename">The name of the file to export data from.</param>
		Private Sub ExportData(ByVal filename As String)
			Dim importFilePath As String = String.Empty
			openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
			Dim result As DialogResult = openFileDialog1.ShowDialog()

			If result = System.Windows.Forms.DialogResult.OK Then
				importFilePath = openFileDialog1.FileName
			End If

			If Not String.IsNullOrEmpty(importFilePath) Then
				' Load the Excel document
				Dim excelDoc = WorkBook.Load(importFilePath)
				' Select the first worksheet
				Dim worksheet = excelDoc.WorkSheets(0)
				' Convert worksheet to a DataTable
				Dim dt As DataTable = worksheet.ToDataTable()
				' Bind DataTable to the DataGridView
				dataGridView1.DataSource = dt
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Yukarıdaki kodda:

  • Windows Form, Excel dosyalarını yükler ve bunları yeni bir DataTable'a dönüştürür.
  • Kullanıcının bir Excel dosyası seçmesine izin vermek için açık dosya iletişim kutusu kullanır.
  • IronXL'den WorkBook.Load() metodu, Excel dosyasını bir Workbook nesnesine yüklemek için kullanılır.
  • İlk çalışma sayfası bir indeks veya ad kullanılarak seçilir.
  • ToDataTable metodu, çalışma sayfası verisini DataTable'a dönüştürmek için kullanılır.
  • Doldurulan DataTable, Windows Form'daki bir DataGridView kontrolü için veri kaynağı olarak ayarlanır.

Aşağıda, bir form ve bir düğme Excel dosyasını uygulamaya yükler.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 6

Kullanıcı "Excel Yükle" düğmesine tıkladığında, bir dosya seçmesine izin veren bir iletişim kutusu açılır.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 7

Daha sonra seçilen dosyayı işler, bir DataTable'a dönüştürür ve bir DataGridView'a yükler.

C# İçinde OLEDB'siz Excel'i DataTable'a Dönüştürme: Şekil 8

IronXL ile DataTables kullanılarak nasıl çalışılacağını daha fazla öğrenin.

Sonuç

IronXL, ekstra hiçbir dış kütüphaneye bağlı olmayan en yaygın kullanılan Excel eklentilerinden biridir. Microsoft Excel yüklemek gereksizdir çünkü kendi kendine yeterli bir programdır. Excel dosyalarını çeşitli şekillerde yönetebilir. Buna karşılık, Interop kütüphanesi dosyaları ayrıştırmak ve Word belgelerini düzenlemek için başka kütüphaneler gerektirir.

IronXL, Microsoft Excel belgeleri kullanarak programlama süreçleri için hesaplamalar, sıralama, birleştirme ve dosya depolama gibi işlemler dahil olmak üzere kapsamlı bir çözüm sunar. Excel verilerini yönetmeyi, dosyaları okumayı ve yazmayı daha verimli hale getirir.

Başlangıçta, IronXL'nin fiyatı $799 idi. Kullanıcılar, bir yıllık üyelik ücreti ödeyerek yazılım güncellemelerini ve desteği alabilirler. IronXL, yasa dışı yeniden dağıtıma karşı koruma da ücret karşılığında sunar. ücretsiz deneme sürümü için IronXL'yi deneyerek daha ayrıntılı fiyatlandırma bilgileri alın. Diğer Iron yazılım ürünleri hakkında daha fazla bilgi için Iron Software ana sayfasını ziyaret edin.

Sıkça Sorulan Sorular

OLEDB kullanmadan Excel verilerini C#'ta nasıl DataTable'a dönüştürebilirim?

OLEDB kullanmadan Excel verilerini C#'ta DataTable'a dönüştürmek için IronXL kütüphanesini kullanabilirsiniz. İlk olarak, yeni bir Visual Studio projesi oluşturun ve IronXL'i yükleyin. Excel dosyasını WorkBook.Load() yöntemi ile yükleyin, çalışma sayfasını seçin ve ardından verileri dönüştürmek için ToDataTable yöntemini kullanın.

Excel işlemleri için Microsoft Interop'a kıyasla IronXL kullanmanın avantajı nedir?

IronXL daha iyi performans sunar, kaynak tasarrufludur ve Excel dosya manipülasyonunu basitleştirir. Farklı Office sürümleriyle uyumluluk sorunlarından kaçınarak Microsoft Excel yüklenmesi gerekmez.

C# projemde IronXL'i nasil kurarim?

IronXL'i C# projenize yüklemek için Visual Studio'da NuGet Paket Yöneticisi Konsolunu açın ve Install-Package IronXL komutunu çalıştırın. Alternatif olarak, NuGet Paket Yöneticisinde IronXL arayın ve doğrudan yükleyin.

IronXL'i kullanmak için Microsoft Excel yüklenmiş olması gerekli mi?

Hayır, IronXL'i kullanmak için Microsoft Excel yüklenmesi gerekmez. Bu kütüphane, Excel'e bağımlılık veya uyumluluk sorunlarını ortadan kaldırarak bağımsız olarak çalışır.

IronXL kullanarak Excel'i DataTable'a dönüştürmenin faydaları nelerdir?

IronXL kullanarak Excel'i DataTable'a dönüştürmek mükemmel performans, kullanım kolaylığı sunar ve ek yazılım kurulumları gerektirmez. Bu yöntem, .NET uygulamalarında Excel dosyalarını verimli bir şekilde manipüle etmeye olanak tanır.

IronXL, farklı platformlarda Excel dosyalarını yönetebilir mi?

Evet, IronXL platformdan bağımsızdır ve Microsoft Excel'in belirli bir sürümünü gerektirmeden farklı ortamlarda Excel dosyalarını yönetebilir.

Satın almadan önce IronXL'i denemenin bir yolu var mı?

Evet, IronXL, kullanıcıların özelliklerini satın almadan önce keşfetmelerine olanak tanıyan ücretsiz bir deneme sürümü sunar. Daha fazla bilgi ve deneme sürümünü indirmek için IronXL web sitesini ziyaret edebilirsiniz.

Hangi tür projeler IronXL kullanımından en fazla yarar sağlar?

Veri analizi, iş zekası uygulamaları gibi Excel veri manipülasyonunu içeren proje ve Excel dosya işleme gerektiren herhangi bir .NET uygulaması IronXL kullanımından büyük ölçüde yararlanabilir.

IronXL programlı olarak Excel dosya manipülasyonunu nasıl yönetir?

IronXL geliştiricilere, Excel'in yüklü bileşenlerine bağlı kalmadan, sezgisel bir API aracılığıyla Excel dosyalarını yükleme, okuma ve manipüle etme imkanı tanır ve bu, .NET uygulamaları için verimli bir araç haline getirir.

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