PDA

View Full Version : سوال: باز کردن فایل اکسل با فرمت xls. و xlsx.



csharpdoost
شنبه 20 آذر 1389, 15:13 عصر
دوستان سلام
میخوام برنامه ، فایل اکسل رو با هرنوع فرمت که باشد باز کند. در تعریف مسیر فایل فرمت رو هم تعریف میکنیم اما از یک نوع می باشد چطور میتوان هر دو نوع را اعمال کرد ؟

saeidi.yusuf
شنبه 20 آذر 1389, 16:18 عصر
دوست عزیز سلام:
فرمت اول توی try بزار فرمت دوم هم توی catch اون وقت اگه اولی نشد دومی میشه.:چشمک:

csharpdoost
شنبه 20 آذر 1389, 17:46 عصر
دوست عزیز سلام:
فرمت اول توی try بزار فرمت دوم هم توی catch اون وقت اگه اولی نشد دومی میشه.:چشمک:

دوست خوبم با تشکر
1-آیا این شیوه اصولیه ؟
2- اگه تعداد فرمتها بیشتر باشه حالا هر فایل دیگه ای این شیوه جواب میده ؟
3-ایا بعد از اجرا در قمست cache و باز کردن فایل میتوان به اول خط ادامه برنامه که در قسمت try قرار دارد برگشت؟

csharpdoost
یک شنبه 21 آذر 1389, 08:09 صبح
دوستان عزیز
کسی میتونه راهنماییم کنه ؟

saeedalg
یک شنبه 21 آذر 1389, 09:31 صبح
دوستان عزیز
کسی میتونه راهنماییم کنه ؟

Process.Start(fileName) در صورتی که بتونی فایل رو تو ویندوز باز کنی، برات فایل رو باز میکنه.

ahrimaneahurai
یک شنبه 21 آذر 1389, 09:37 صبح
شما برای این کار باید connectionstring تون رو عوض کنید
فکر کنم کد زیر مشکلتون رو با هر 2 نوع فرمت 2003 و 2007 حل کنه


private void LoadFile(DataGridView dg, string filename, string ssheet)
{
string cs = "";
if (System.IO.Path.GetExtension(filename) == ".xlsx")
{
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename+ ";Extended Properties='Excel 12.0;'";
}
else
{
cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;'";
}
try
{
OleDbConnection cn = new OleDbConnection(cs);
if (!System.IO.File.Exists(filename))
{
MessageBox.Show("Not Found!");
}
OleDbDataAdapter adapter = new OleDbDataAdapter("Select * From [" + ssheet + "$]", cs);
DataSet ds = new DataSet();
adapter.Fill(ds);
dg.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

HAMRAHSOFT.IR
سه شنبه 23 آذر 1389, 09:37 صبح
شرمنده ميشه اينو بصورت يك فايل بزاريد و ايا ميشه بعد از باز كردن اطلاعات داخل يك كريد نشون بديم ؟