
C#'da oledb Olmadan Excel'i Datatable'a Nasıl Dönüştürürsünüz
Microsoft Excel, Microsoft tarafından geliştirilen 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. Excel, çeşitli özellikleri nedeniyle 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 birçok sektörde yaygın olarak kullanılmaktadır. Çok yönlülüğü ve geniş özellik seti nedeniyle, hem kişisel hem de profesyonel ortamlarda verileri düzenlemek, değerlendirmek ve sunmak için tercih edilen araçtır. Bu makalede, OLEDB bağlantısı olmadan C# dilinde Excel'i bir DataTable'a dönüştüreceğiz.
OLEDB olmadan C#'ta Excel'i DataTable'a Dönüştürme Nasıl Yapılır?
- Yeni bir Visual Studio projesi oluşturun.
- Gerekli kütüphaneyi yükleyin.
- Excel dosyasını bir nesneye yükleyin.
- Belirli yöntemler kullanarak Excel sayfası verilerini bir DataTable'a dönüştürün.
- DataTable'ı gerekli şekilde kullanın.
IronXL Kütüphanesi
.NET programlarda Excel dosyalarını işlemek için Microsoft Interop'a alternatif IronXL dir. Microsoft Interop, Interop kütüphanelerini kullanarak Excel ile bağlantı kurmayı gerektirirken, IronXL, .NET ortamlarında Excel dosyalarını programlı bir şekilde manipüle etmek için daha basit, daha verimli ve daha güçlü bir yol sağlar.
IronXL kullanmanın bazı avantajları:
- Performans ve Kaynak Verimliliği: IronXL, performans ve kaynak verimliliği açısından Microsoft Interop'u geride bırakır çünkü PC'ye Excel programının kurulması gerekmez.
- Okunabilirlik ve Sadelik: IronXL, daha basit bir API sunar ve Microsoft Interop'un dezavantajları olmadan Excel dosyalarını okuma, yazma ve manipüle etme işlemlerini kolaylaştırır.
- Uyumluluk ve Bağımlılık: IronXL, Microsoft Excel'in PC'ye kurulu olması gerekmeyerek farklı Office veya Excel sürümleri ile potansiyel uyumluluk sorunlarını ve bağımlılıkları ortadan kaldırır.
- Platform Bağımsızlığı: Microsoft Interop belirli Microsoft Office sürümleri ile daha yakından bağlantılı iken, IronXL, daha geniş bir ortam ve platformda daha fazla esneklik ve dağıtım kolaylığı sağlar.
IronXL daha hızlı, kullanımı daha kolay ve daha az üçüncü taraf yazılım kurulumu gerektirdiği için, genellikle Excel dosyaları ile programlı olarak çalışması gereken .NET geliştiriciler için daha tercih edilir bir seçimdir. Ancak, projenin özellikleri, mevcut altyapı ve her bir kütüphaneye olan kullanıcının aşinalığı gibi faktörler seçimlerini etkileyebilir.
Bu çözümler arasında seçim yaparken 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 öğesine tıklayın ve "Yeni Proje"yi seçin. Ardından, "Windows Formlar Uygulaması"nı seçin.

Dosya konumunu seçtikten sonra proje adını uygun metin alanına girin. Ardından, "Oluştur" düğmesine tıklayın ve aşağıdaki örnekte görüldüğü gibi gerekli .NET Framework'ü seçin.

Seçilen uygulama türü, Visual Studio projesinin nasıl yapılandırılacağını belirleyecektir. Kod eklemek için Program.cs dosyasına girebilir ve konsol, Windows veya web uygulaması kullanarak uygulamayı oluşturabilir veya çalıştırabilirsiniz.

Sonraki adımda, gerekli kütüphaneyi ekleyin ve kodu test edin.
IronXL Kütüphanesi Yükleme
IronXL kütüphanesini yüklemek için NuGet Package Manager Konsolunu açın ve aşağıdaki komutu girin:

Alternatif olarak, NuGet Package Manager'ı kullanarak "IronXL" paketini arayabilirsiniz. Bu, IronXL ile ilgili NuGet paketlerinin bir listesini gösterecek ve ihtiyacınız olanı seçebileceksiniz.

Excel Dosyasını Veri Tablolarına Dönüştürme
Aşağıdaki kod, paketi yükledikten sonra bir Excel dosyasını okuyarak onu bir DataTable'e dönüştürmenin nasıl yapılacağını gösterir.
// 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 NamespaceYukarı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 olanak tanımak için açık bir dosya diyaloğu kullanır.
- IronXL'deki
WorkBook.Load()yöntemi, Excel dosyasını bir Workbook nesnesine yüklemek için kullanılır. - İlk çalışma sayfası indeks veya isim kullanarak seçilir.
ToDataTableyöntemi, çalışma sayfası verilerini bir DataTable'a dönüştürmek için kullanılır.- Doldurulmuş DataTable, Windows Form üzerindeki bir DataGridView kontrolü için veri kaynağı olarak ayarlanır.
Alt kısımda, bir form ve bir buton, Excel dosyasını uygulamaya yükler.

Kullanıcı "Excel Yükle" butonuna tıkladığında, bir dosya seçmesine olanak tanıyan bir diyaloğu tetikler.

Seçilen dosyayı işleyecek, bir DataTable'a dönüştürecek ve bir DataGridView içine yükleyecektir.

IronXL ile DataTable kullanma konusunda daha fazla bilgi edinin.
Sonuç
IronXL, herhangi bir ek dış kütüphaneye bağımlı olmayan en yaygın kullanılan Excel eklentilerinden biridir. Microsoft Excel yüklemek gereksizdir çünkü kendi kendine yeten bir programdır. Excel dosyalarını çeşitli şekillerde manipüle edebilir. Karşılaştırıldığında, Interop kütüphanesi, dosyaları ayıklamak ve Word belgelerini düzenlemek için başka kütüphanelere gereksinim duyar.
IronXL, hesaplamalar, sıralama, birleştirme ve dosya depolama gibi işlemleri içeren Microsoft Excel belgelerini kullanarak herhangi bir programlama süreci için kapsamlı bir çözüm sağlar. Excel verilerini daha verimli şekilde okuma ve yazma, işlemeyi kolaylaştırır.
Başlangıçta, IronXL'nin fiyatı $999 idi. Kullanıcılar bir yıllık üyelik ücreti ödeyerek yazılım güncellemeleri ve destek alabilirler. IronXL ayrıca bir ücret karşılığında yasa dışı yeniden dağıtıma karşı koruma da sunar. ücretsiz deneme için IronXL'yi deneyin ve daha ayrıntılı fiyatlandırma bilgileri için buraya tıklayın. Daha fazla bilgi için Iron Software ana sayfasını veya diğer Iron Software ürünlerini ziyaret edin.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler



