一个excel文档,有四个sheet页,excel文档里有两个名称定义.使用如下代码:
conn = new OleDbConnection(connStr);
conn.Open();
DataTable tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });发现tblSchema表中有6行数据,前四行都是Sheet页名,后两行是名称定义的名称,我现在只想取得sheet页名,请问怎么做?

解决方案 »

  1.   

     如果是特定的excel  取6个要4个就可以了
      

  2.   

    我想知道使用conn.GetOleDbSchemaTable方法可不可以只取出sheet页名?
      

  3.   

                string source = "C:\\a.xls";//execel文件的完整路径
                string sqlconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1' ";
                OleDbConnection sqlcon = new OleDbConnection(sqlconn);
                sqlcon.Open();
                System.Data.DataTable schemaTable = sqlcon.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
                string tableName = schemaTable.Rows[0][2].ToString().Trim();//取出第一个sheet页的页名
                  string tableName2 = schemaTable.Rows[1][2].ToString().Trim();//取出第二个sheet页的页名
                  string sql = "SELECT  * FROM [" + tableName + "]";
                string sql = "SELECT  * FROM [" + tableName2 + "]";