C# excelden veri alma
C# kullanarak bir Excel sayfasındaki verileri bir DataTable içerisine almak istiyorum. Yazdığım kod aşağıdaki gibi. Ancak “An unhandled exception of type ‘System.Data.OleDb.OleDbException’ occurred in System.Data.dll” hatası alıyorum. Nasıl çözebilirim ?
string connString= "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + myFilePath+ "; Extended Properties =Excel 8.0;"; OleDbConnection connec= new OleDbConnection(connString); connec.Open(); DataTable dtPatterns = new DataTable(); komut = new OleDbCommand("SELECT * FROM [" + pageName+ "]", connec); da.SelectCommand = komut; da.Fill(myDatatable);

Sorun excel dosyasından veri almak için kullandığım select sorgusundan kaynaklanıyormuş. Excel sayfasının adından sonra ‘$’ işareti koymak gerekiyormuş. Yani cümle şu şekilde olmalı;
komut = new OleDbCommand("SELECT * FROM [" + pageName+ "$]", connec);
“myFilePath” doğru yazdığına emin misin? çünkü database’in bulunduğu yolu tam olarak vermen gerekiyor. birde hatayı hangi satırda alıyorsun?
da =new OleDbDataAdapter(komut,connec);
tanımını yaptın mı ?
Evet, data adapter ve command tanımları verdiğim kodun hemen üst kısmında şu şekilde
OleDbCommand komut = new OleDbCommand(); OleDbDataAdapter da = new OleDbDataAdapter();
myFilePath değişkeninin içeriği “C:\user_name\myExcelFile.xls” şeklinde.
Hatayı son satırda, da.Fill() fonksiyonunda alıyorum.