MS Excel elektronik tabloları, küçük, orta veya büyük boyutlu verileri tutmak için yaygın olarak kullanılır. Çeşitli durumlarda, elektronik tablolar, uygulama verilerini depolamak için bir veritabanı görevi görür. Bu gibi durumlarda, Excel dosyalarında saklanan verileri web veya masaüstü uygulamalarınızdan okumanız gerekebilir. Bu gibi durumlarda, bu makale Excel verilerinin C# dilinde DataTable’lara nasıl dönüştürüleceğini kapsar.

C# Excel’den DataTable’a Dönüştürme API’sı

Aspose.Cells for .NET, .NET uygulamaları içinde Excel otomasyon özelliklerini uygulamanıza izin veren bir sınıf kitaplığıdır. Ek olarak, API birkaç adımda Excel çalışma sayfalarından ADO.NET DataTable’a veri aktarmanıza olanak tanır. API’yi indirebilir veya NuGet aracılığıyla yükleyebilirsiniz.

PM> Install-Package Aspose.Cells

Excel’i C# dilinde DataTable’a dönüştürün

Verileri Excel çalışma sayfalarından DataTables’a aktarırken iki olası senaryo olabilir: veriler güçlü bir şekilde yazılmış veya güçlü bir şekilde yazılmamış olabilir. Her iki durumda da Excel’den DataTable’a dönüştürmeyi buna göre gerçekleştirebilirsiniz. Yukarıda belirtilen senaryolardan herhangi biriyle nasıl başa çıkılacağına bir göz atalım.

Kesin Olarak Yazılmış Excel Verilerini C# ile DataTable’a Dönüştürün

Kesinlikle yazılmış veriler, tek bir sütundaki değerlerin belirli bir veri türüne ait olduğu anlamına gelir. Bu gibi durumlarda, aşağıdaki adımları kullanarak Excel verilerini C# dilinde DataTable’a aktarabilirsiniz.

Aşağıdaki kod örneği, Excel’in DataTable’a nasıl aktarılacağını gösterir.

// Açılacak Excel dosyasını içeren bir dosya akışı oluşturun
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Bir Çalışma Kitabı nesnesinin örneğini oluşturun
//Excel dosyasını dosya akışı aracılığıyla açma
Workbook workbook = new Workbook(fstream);

// Excel dosyasındaki ilk çalışma sayfasına erişin
Worksheet worksheet = workbook.Worksheets[0];

// 1. hücreden başlayarak 2 satır ve 2 sütunun içeriğini DataTable'a aktarın
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// DataTable'ı DataGrid ile bağlayın
dataGridView1.DataSource = dataTable;

// Tüm kaynakları serbest bırakmak için dosya akışını kapatın
fstream.Close();

Güçlü Olarak Yazılmayan Excel Verilerini C# ile DataTable’a Dönüştürün

Şimdi, çalışma sayfasındaki değerlerin kesin olarak yazılmadığı diğer duruma bir göz atalım. Bu, belirli bir veri türüne ait olmadıkları anlamına gelir. Aşağıdakiler, bu durumda Excel verilerini DataTable’a aktarma adımlarıdır.

Aşağıdaki kod örneği, türü kesin olmayan verilerin Excel’den C# dilinde DataTable’a nasıl aktarılacağını gösterir.

// Açılacak Excel dosyasını içeren bir dosya akışı oluşturun
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Bir Çalışma Kitabı nesnesinin örneğini oluşturun
//Excel dosyasını dosya akışı aracılığıyla açma
Workbook workbook = new Workbook(fstream);

// Excel dosyasındaki ilk çalışma sayfasına erişin
Worksheet worksheet = workbook.Worksheets[0];

// 1. hücreden başlayarak 2 satır ve 2 sütunun içeriğini DataTable'a aktarın
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// DataTable'ı DataGrid ile bağlayın
dataGridView1.DataSource = dataTable;

// Tüm kaynakları serbest bırakmak için dosya akışını kapatın
fstream.Close();

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmaksızın denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C# kullanarak Excel verilerini ADO.NET DataTables’a nasıl aktaracağınızı veya dönüştüreceğinizi öğrendiniz. Adım adım öğretici ve kod örnekleri, çalışma sayfalarında kesin olarak yazılmış ve kesin olarak yazılmamış verilerle nasıl başa çıkılacağını göstermiştir. Belgeleri kullanarak C# Excel API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız