oledb获取Excel文件中sheet列表

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +

"Data Source=c:/test.xls;" +

"Extended Properties=Excel 8.0;";

OleDbConnection cn = new OleDbConnection(sConnectionString);

cn.Open();

DataTable tb = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

foreach (DataRow row in tb.Rows)

{

//遍历弹出各Sheet的名称

MessageBox.Show(row["TABLE_NAME"]);

}

from:http://blog.csdn.net/hlzyly/article/details/5710644

这种方法不错,但是假如你的表有n个表,会读出2*n个名字,例如,你的工作薄里面有sheet1这个表,就会第一个读出的是sheet1没错,然后还有第二个,名字是sheet$.实在不解,要是真要用到,再添加些代码排除吧。

posted @ 2012-02-17 16:12  果壳中的宇宙  阅读(1630)  评论(0编辑  收藏  举报