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.
- Excel Verilerini DataTable’a Aktarmak için C# API
- C#’ta Excel’den DataTable’a
- Kesin Olarak Yazılmış Excel Verilerini DataTable’a Dönüştürün
- Kesinlikle Yazılmayan Excel Verilerini DataTable’a Dönüştürün
- Ücretsiz Lisans Alın
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.
- Excel dosyasını yüklemek için Workbook sınıfını kullanın.
- Bir Çalışma Sayfası nesnesinde dışa aktarmak istediğiniz çalışma sayfasını alın.
- Verileri bir DataTable nesnesine aktarmak için Worksheet.Cells.ExportDataTable(int, int, int, int, bool) yöntemini kullanın.
- Veri kaynağı olarak DataTable kullanın.
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.
- Excel dosyasını yüklemek için Workbook sınıfını kullanın.
- Bir Çalışma Sayfası nesnesinde dışa aktarmak istediğiniz çalışma sayfasını seçin.
- Verileri bir DataTable nesnesine aktarmak için Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) yöntemini kullanın.
- Veri kaynağı olarak DataTable kullanın.
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.