读书人

Excel倒入DataGridView时的有关问题

发布时间: 2012-01-15 22:57:49 作者: rapoo

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去。写了这个。

读书人网 >C#

热点推荐