首页 新闻 赞助 找找看

关于asp.net 读取excel数据出错的问题

0
[已解决问题] 解决于 2017-04-20 16:08

最近转的asp.net,做了一个多星期,然后现在做一个项目,有个功能是导出数据到excel,这个完成了,然后下一个功能是用户修改那份导出的excel,然后再重新读取excel数据并显示出来。

网上找了些资料,基本都大同小异,然后我的代码如下

public void ExcelDataSource(string filepath, string sheetname)
{
Response.Write(filepath);//filepath的路径就是下面这个
//D:\IIS_PartyMemMsg\upload\茂名移动党员信息.xls
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filepath + ";" + "Extended Properties='Excel 12.0; HDR=No; IMEX=1";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter adp = new OleDbDataAdapter("Select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
adp.Fill(ds);
conn.Close();
GridView1.DataSource = ds;
GridView1.DataBind();
}

然后就蛋疼了,一直出现

System.Data.OleDb.OleDbException: 外部表不是预期的格式。

这个错误。

应该可以肯定不是excel表的数据有问题,因为我都是直接读取我导出去的数据,代码方面基本上和网上的都差不多,所以求大神出现吧,搞了1天多了,一直没有搞定

人者后卫的主页 人者后卫 | 初学一级 | 园豆:129
提问于:2017-03-31 10:21
< >
分享
最佳答案
0

尝试下 加个  Response.End();

 

测试分两部分 ,第一个是生成文件有没有问题,第二是读取文件有没有问题。单独分开测试

奖励园豆:5
hahanonym | 小虾三级 |园豆:1460 | 2017-03-31 13:44

是的,今天早上发现是导出去的时候创建的excel文件有问题

人者后卫 | 园豆:129 (初学一级) | 2017-03-31 15:42
其他回答(2)
0

右键 生成的文件 记事本打开 如果是乱码 则是正确格式 or 不是正确的EXCEL格式.

那你需要另存为excel格式 再次导入.

Sen7 | 园豆:250 (菜鸟二级) | 2017-03-31 14:24

是的,今天早上发现是导出去的时候创建的excel文件有问题

支持(0) 反对(0) 人者后卫 | 园豆:129 (初学一级) | 2017-03-31 15:43
0

最后经过测试,发现是导出的时候有问题,格式不正确。

这个导入的代码是正确的。

问题解决了

人者后卫 | 园豆:129 (初学一级) | 2017-03-31 16:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册