一个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页名,请问怎么做?
conn = new OleDbConnection(connStr);
conn.Open();
DataTable tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });发现tblSchema表中有6行数据,前四行都是Sheet页名,后两行是名称定义的名称,我现在只想取得sheet页名,请问怎么做?
解决方案 »
- 利用UrlRewritingNet域名泛解析 求正则!
- 在一个类里面设置一个私有变量,然后有一个公有的set和get访问器,怎么在另外一个类里建立前一个类的实例,怎么不能使用set访问器呢?
- 怎么实现c# 用sql脚本初始化oracle数据库
- 关于查询数据时,进底条同步显示的问题
- 关于 C# Windos应用程序中 图片保存问题
- c#中如何保存文件呢?
- 几个exe丢了,谁有,收到给分
- 如何按指定的数组生成随机数
- 请问如何做聊天室人数统计
- 关于dataGrid控件的一个奇怪问题,请微软的大侠帮助解决。
- 100分求c#实现来电显示功能
- 请问Socket用TcpClient发送完消息后,如何释放本地端口?
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 + "]";