如题:导入的excel文件sheet名称不是sheet1就无法读取???DataTable dt = new DataTable();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=" + txtPath + ";" +
"Extended Properties=\"Excel 8.0;HDR=No;\"");
OleDbDataAdapter AdapterObj2=new OleDbDataAdapter("SELECT * FROM [Sheet1$]",conn);
OleDbCommandBuilder BuilderObj2=new OleDbCommandBuilder(AdapterObj2);
AdapterObj2.Fill(dt);如果sheet名称不是Sheet1,那么上面的代码就执行不了了,
一般的别人导出的excel,都是sheet名称和表名一样的,
不会是Sheet1,怎么更改上面的代码,使得如果上传的excel的sheet名称
不是Sheet1也能读取
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=" + txtPath + ";" +
"Extended Properties=\"Excel 8.0;HDR=No;\"");
OleDbDataAdapter AdapterObj2=new OleDbDataAdapter("SELECT * FROM [Sheet1$]",conn);
OleDbCommandBuilder BuilderObj2=new OleDbCommandBuilder(AdapterObj2);
AdapterObj2.Fill(dt);如果sheet名称不是Sheet1,那么上面的代码就执行不了了,
一般的别人导出的excel,都是sheet名称和表名一样的,
不会是Sheet1,怎么更改上面的代码,使得如果上传的excel的sheet名称
不是Sheet1也能读取
解决方案 »
- repeater的嵌套问题
- 准备转WEB开发,新手求学校流程
- 关于充/贫血模型不太懂,请教一下各位
- regsver32 注册失败
- 我想知道 在做好asp.net以后 部署到远程的iis上有哪些文件就够了 ;越少越好 但不要出错
- 菜鸟问题 :怎样得出一个表中有多少项数据?
- (一穷到底)怎么样在asp.net中实现生成htm页面
- 问了N遍了,花了不少分,再次问AspnetMenu如何才不被iframe中的excel文件遮住的.
- datagrid这个控件超级链接列的问题
- C#: 控件DataList的个数不确定,如何在aspx里面实现?
- 从数据库读出来的时间变成了1900-1-1 0:00:00
- URL重定向问题?
如果用这种方式读取,我一般都是要求对方不能更改Sheet的名称;或者不用OleDb的方式,而是使用Excel.Application
string tableName="";
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet." + "OLEDB.4.0;Extended Properties=\"Excel 8.0\";Data Source=" + FilePath))
{
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
tableName = dt.Rows[0][2].ToString().Trim();
conn.Close();
}
return tableName;
}
这个可以获取表名