# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ > سوال: باز کردن فایل اکسل با فرمت xls. و xlsx.

## csharpdoost

دوستان سلام
میخوام برنامه  ، فایل اکسل رو با هرنوع فرمت که باشد باز کند.  در تعریف مسیر فایل فرمت رو هم تعریف میکنیم اما از یک نوع می باشد چطور میتوان هر دو نوع را اعمال کرد ؟

----------


## saeidi.yusuf

دوست عزیز سلام:
فرمت اول توی try بزار فرمت دوم هم توی catch اون وقت اگه اولی نشد دومی میشه. :چشمک:

----------


## csharpdoost

> دوست عزیز سلام:
> فرمت اول توی try بزار فرمت دوم هم توی catch اون وقت اگه اولی نشد دومی میشه.


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

----------


## csharpdoost

دوستان عزیز 
کسی میتونه راهنماییم کنه ؟

----------


## saeedalg

> دوستان عزیز 
> کسی میتونه راهنماییم کنه ؟


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

----------


## ahrimaneahurai

شما برای این کار باید 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

شرمنده ميشه اينو بصورت يك فايل بزاريد و ايا ميشه بعد از باز كردن اطلاعات داخل يك كريد نشون بديم ؟

----------

