日期:2014-05-20  浏览次数:20957 次

Excel倒入DataGridView时的问题
public   DataSet   ImportData(string   fileName)
{    
    string   strConn   =   "Provicer=Microsoft.Jet.OleDb.4.0; "+   "Data   Source= "   +
                                        fileName+ "; "+ "Extended   Properties   =   Excel   8.0 ";
    string   strCommand   =   "select   *   from   [Sheet1$] ";
    OleDbDataAdapter   adapter   =   new   OleDbDataAdapter(strCommand,   strConn);
    DataSet   ds   =   new   DataSet();
    adapter.Fill(ds);
    return   ds;
}
 
      方法的参数只有文件名,不能确定文件包含多少个Sheet,也不呢确定sheet的名字。而上面的代码实现的只是读取一个名字是Sheet1的数据,怎样做才能把一个Excel文件中的所有Sheet都读取呢?难道只能用COM做吗?



------解决方案--------------------
lz: 你可以先用代码打开xls文件:

Set xlApp = CreateObject( "Excel.Application ")
Set xlBook = xlApp.Workbooks.Open( "d:\text2.xls ")

for i=0 to xlBook.Worksheets.Count-1
set xlSheet = xlBook.Worksheets(i)
xlSheet.Name //这就是你需要的每个sheet的名字,保存起来,备后用
next i

我这里使用的VB写的范例,你变成c#即可.
------解决方案--------------------
楼主可以看我的BLOG去。写了这个。