您的位置:程序门 -> .net技术 -> c#



excel倒入datagridview时的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


excel倒入datagridview时的问题[已结贴,结贴人:shanny991]
发表于:2007-01-11 14:03:16 楼主
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做吗?

发表于:2007-01-11 14:22:321楼 得分:0
做一个循环不就好了么:
for(int   i,i=1,i++)
{
string   strcommand   =   "select   *   from   [sheet "+i+ "$] ";

}
发表于:2007-01-11 15:08:222楼 得分:0
可是不知道有几个sheet,而且sheet的名字也可以不是sheet1,2...
发表于:2007-01-11 16:35:273楼 得分:0
用主互操作程序集可以解决。
发表于:2007-01-11 18:47:364楼 得分:0
嗯?不太明白,能不能给个例子看看呢?多谢先!
发表于:2007-01-12 01:06:505楼 得分:0
b     mb    
发表于:2007-01-12 09:26:566楼 得分:30
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#即可.
发表于:2007-01-12 09:34:087楼 得分:10
楼主可以看我的blog去。写了这个。
发表于:2007-01-12 09:49:498楼 得分:0
用foreach轮询


快速检索

最新资讯
热门点击