100分,解决 无法找到表 0
excel 导入到 Dataset,本地测试 没有问题,
因朋友的机器有IIS 就测试了下,测试结果均为 无法找到表 0。
朋友电脑有装excel。
求解决方案! 百度没找到答案。
------解决方案--------------------DataSet里没有表,在使用DataSet[0]之前先判断表的个数是否大于0
------解决方案--------------------
------解决方案--------------------那就检查一下你的excel是不是excel2003的,而你朋友的那个上面是如excel2007的,或是其他情况,这个就看你的导入代码了。
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
类似这样的设置不能向上兼容造成的。
还有这样的,是不是excel表名问题??
strExcel = string.Format("select * from [{0}$]", sheetName);
------解决方案--------------------
------解决方案--------------------C# code
在读取dataset的地方
前面加个语句
if(ds!=null&&ds.Tables.Count<1)
Response.Write("<script>alert('玛德,没获取到数据,挂了');</script>");
你编译后再去试试。如果打出这句话,说明是获取数据问题了啊
------解决方案--------------------
一般都是因为通讯错误,没连上数据库
------解决方案--------------------
首先定位问题在哪嘛
------解决方案--------------------
C# code
if(ds==null || ds!=null&&ds.Tables.Count<1)
Response.Write("<script>alert('玛德,没获取到数据,挂了');</script>");
------解决方案--------------------
C/C++ code
// xlsx
connStr = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + newName +
";Extended Properties='Excel 12.0 Xml; HDR=YES; IMEX=1'";
//xls
connStr = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + newName +
";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
//检查连接语句..可能是excel版本不一致
//检查下 表格的名称 是否不是sheet 尽量不要写死 一下是动态获取的名称代码
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
var tableName = dt.Rows[0][2].ToString().Trim();
var str1 = string.Format("Select * from [{0}]", tableName+"A:F");
------解决方案--------------------
------解决方案--------------------
看一下是不是你朋友的电脑的Excel版本和项目上的一样?
------解决方案--------------------
我遇到过报一样的错,但或许各数据源的解决方法并不一定一致吧,仅供参考。
无法找到表0 的意思就是无法找到第 0 个表,也就是说 DataSet 中的表未始化,或者其中根本没有表。
表0 不是说表名叫表0,此时 0 是一个索引值
老以前,我们项目中有出错,是因为 Framework 或其他类中一些返回值不够规范导致的。试想,一个签名为返回 DataTable 类型的方法却返回了 null,就导致没有表。
------解决方案--------------------
贴一下你和你朋友机器配置,操作系统不同(特别是32位于64位),office不同都可能有影响
------解决方案--------------------
用老一些版本的office插件试试
------解决方案--------------------
个人感觉应该是sheet标签出问题了
------解决方案--------------------