我先用点击button得到选定的EXCEL的路径openFileDialog1.InitialDirectory = "c:\\";/
openFileDialog1.Filter = "Excel 文件(*.xls)|*.xls";
openFileDialog1.RestoreDirectory = true;
openFileDialog1.FilterIndex = 1;
openFileDialog1.ShowDialog() ;路径是string Fpath=openFileDialog1.FileName;接着初始化一个excel变量 excelApp
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();现在问题来了,我怎么才能让这个Fpath路径下的EXCEL赋值给我给定的这个excelApp啊?

解决方案 »

  1.   

    根据this.openFileDialog1.FileName打开excel获取数据到DataSet,
    再遍历赋值给excel
      

  2.   

    楼上的,我的问题就是不知道如何“根据this.openFileDialog1.FileName打开excel”
    这个语句要怎么写?
      

  3.   

    加一句
    Workbook mybook = excelApp.Workbooks.Add(Fpath);
    是LZ要得吗?
      

  4.   

    楼上我觉得就该这样,可我不知道怎么打开这个EXCEL 怎么打开sheet1
      

  5.   

    先看看我收集整理的相关基本操作吧。
    网络上相关文章很多,以下是我自己在实际使用中总结的一小点经验,希望对需要的朋友有用。首先是C#使用Excel的一下前置条件:在引用的COM里引用:Microsoft Excel 11.0 Object Library      然后增加命名空间:using Microsoft.Office.Interop.Excel;这步如果完成不了就不用接着看下面了!下面是具体操作的代码: //创建Application对象 
     Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); //Excel是否显示的开关 myExcel.Visible = false;//构建工作簿,参数是打开指定工作簿
     Workbook mybook = myExcel.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\end1.xls");//构建Excel下的工作簿,具体我还没使用 Worksheet mySheet = (Microsoft.Office.Interop.Excel.Worksheet)mybook.ActiveSheet;//读出单元格A1的数据到rng1.Value2里面Microsoft.Office.Interop.Excel.Range rng1 = mySheet.get_Range("A1", Type.Missing);//在第一行第三列写入“写入”myExcel.Cells[1, 3] = "写入"//保存一个副本到指定的位置,记住要双斜杠!mybook.SaveCopyAs("C:\\01.xls") //是否显示修改确认对话框的开关
    myExcel.Application.DisplayAlerts = false;
    myExcel.AlertBeforeOverwriting = false;//这句很关键,关闭自建的Excel并释放内存。myExcel.Quit();
      

  6.   

    sheet1(工作簿)我使用的倒是不多,基本上,读、写都没用到,最近一次使用到只是在查询语句中提了一下。
     using (OleDbConnection Connection = new 
                    OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source="
                       +  Application.StartupPath + "\\EecelModle\\cardAddress.xls"
                       + ";Extended Properties=Excel 8.0"))
                {
                    OleDbDataAdapter DataAdapter = new
                        OleDbDataAdapter("Select * from [Sheet1$]", Connection);
                    DataTable DT = new DataTable();
                    DataAdapter.Fill(DT);
                    this.dataGridView1.DataSource = DT;
                }
      

  7.   

    决定放弃Workbooks.Open   利用了和6楼说的类似的方法,现在可以了。谢谢!!
    代码如下,大家分享
    openFileDialog1.InitialDirectory = "c:\\";//找到该EXCEL,得到绝对路径
    openFileDialog1.Filter = "Excel 文件(*.xls)|*.xls";
    openFileDialog1.RestoreDirectory = true;
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.ShowDialog() ;
    string Fpath=openFileDialog1.FileName;
    //连接该EXCEL
    this.oleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" 
       + Fpath + ";Extended Properties=Excel 8.0";
    { 数据放到dataTable表格中
    dataTable1.Clear();
    dataTable1.Columns.Clear();
    oleDbDataAdapter1.SelectCommand.CommandText ="Select * from [Sheet1$]";  oleDbDataAdapter1.Fill(dataTable1); 


    }