PDA

View Full Version : سوال: خطا در برقراری ارتباط و بازکردن فایل اکسل



gilas1368
چهارشنبه 21 خرداد 1393, 20:57 عصر
با سلام به همه
من میخام توی برنامه ام فایل های اکسل رو باز کنم و از اطلاعات ردیف هاش استفاده کنم
برای اینکار از تابع زیر استفاده کردم :

private void OpenExel() {
var fileName = @"‪C:\Users\Siavash\Desktop\ExportData1.xls";
var conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+fileName+";Extended Properties=Excel 12.0 Xml;HDR=YES;");
conn.Open();
// var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSc hemaGuid.Tables, new object[] { null, null, null, "person" });
var cmd = conn.CreateCommand();
// cmd.CommandText = "SELECT * FROM [" + sheets.Rows[1]["A"].ToString() + "] ";
cmd.CommandText = "SELECT * FROM [Sheet1$]";
var adapter = new OleDbDataAdapter(cmd);
var ds = new DataSet();
adapter.Fill(ds);
}

اما زمانی که برنامه به conn.open میرسه خطای زیر رو میده

120105

اگه امکان داره راهنمائیم کنین متوجه بشم مشکلم کجاست

لازم ب ذکره من از ویژوال استدیو 2013 استفاده میکنم و مجموعه آفیس 2013 هم روی سیستمم نصب شده

ممنونم

gilas1368
پنج شنبه 22 خرداد 1393, 08:29 صبح
ینی واقعا کسی نمیدونه من مشکلم رو باید چطوری حل کنم؟

khokhan
پنج شنبه 22 خرداد 1393, 10:13 صبح
ینی واقعا کسی نمیدونه من مشکلم رو باید چطوری حل کنم؟

رشته اتصال رو اصلاح کنین

string connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=@\\123.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1;\"";

behnam-soft
پنج شنبه 22 خرداد 1393, 15:15 عصر
این کد برای اتصال به آفیس 2007 هست، همونطور که دوست خوبمون khokhan (http://barnamenevis.org/member.php?131732-khokhan) گفتن،باید رشته اتصال رو مناسب آفیس 2013 تصحیح کنین.