用oledb连接excel,GetSchema得到同一个Sheet两次的问题
如题,这个Excel明明只有一个sheet
代码如下:
- C# code
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\t.xls;Extended Properties=\"Excel 8.0; Imex=1;HDR=yes;\";";OleDbConnection con = new OleDbConnection(connString);con.Open();DataTable ret = con.GetSchema("Tables");con.Close();foreach (DataRow row in ret.Rows){ Response.Write(row["TABLE_NAME"] + "<br>");}
上面的代码输出了2行:
sales_contractinvoice
sales_contractinvoice$
求解
[解决办法]
可以判断最后一个字符嘛,如果是"$"就忽略
[解决办法]
还在编辑中的文件就会产生加$的临时文件
楼主是不是打开EXCEL然后没保存就直接运行你的程序了
所以会有临时SHEET
[解决办法]
直接判断,有$结尾的是合法的Excel Sheet,非$结尾的不是合法的Sheet,直接过滤就可以。