请教使用ADO.NET GetOleDbSchemaTable 获取Sheet名称'(m1)_(m2)_(m3)$'Print_Area
'附表1 $'
'附表1 $'_
'附表10-1改 $'
'附表10-2$'
附表2$
附表3改$
附表4改$
附表5改$  
附表6改$
附表6改$_
附表7改$
附表7改$_
附表8改$
附表8改$_
附表8改$Print_Area
附表9改$比原来的XLS:多出了'附表1 $'_,'(m1)_(m2)_(m3)$'Print_Area,附表6改$_,附表7改$_,附表8改$_,附表8改$Print_Area
如果该XLS文件用ADO.NET读取的同时用Excel打开,C#读取时也会多出一些Sheet名称
请帮帮忙!非常谢谢!

解决方案 »

  1.   

    Print_Area表示该表有设定的打印区域,那末尾带短线的是不是表示某种标识?该名称不能读取数据。
    哪位解释一下,谢谢!
      

  2.   


     //填充 DataTable。
                    schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
                    // 使用表名称填充数组。                if (schemaTable.Rows.Count < 1) return null;
    //取得当前sheet
                    defaultTableName = schemaTable.Rows[0]["Table_Name"].ToString();                //清除 DataTable
                    schemaTable.Clear();                //使用表名称和列架构
                    // 信息来构造 SELECT 语句,
                    // 使用数据源列中的架构信息
                    //填充 DataTable。                 
      

  3.   

    我取出来如:sheet1$\sheet1等,整整多了一倍的表,不知道为什么呢?