OleDbConnection con = conn(FileName); con.Open(); 读取EXCEL文件的时候出现了这个错误。。 求指点。。

FileName="F:\\Excel上传\\测试.xls"

连接字符串错误,或者是你的系统没有装Excel的OleDB驱动追问

我系统装的有excel啊。。。
而且我也在VS2010里导入了EXCEL11.0的DLL

追答

这个与你是不是导入了DLL没啥关系,只要驱动程序正确,你就可以不装EXCEL也照样读取.

建议,别用OleDB的方式读取,去下载一个Aspose.Cells这个组件来读取Excel吧,根本就不用你在机器上安装EXCEL,并且使用起来还特方便

追问

哦。好的。。我去试试你说的方法。。。

对了。。我把要读取的文件放在E盘的。。上传之后放到F:\Excel上传\测试.xls。。读取F盘文件出错但是,我把E盘的原文件内容复制到了一个新建的Excel里面,删除原文件,新建的Excel用原文件名,再读取的时候就没报错了。。。这是为什么??之前原文件我也用记事本打开了没有之类的符号。。。貌似我要传的那个文档有问题???也就是说有可能上传的文档有可能有问题?

追答

1. 检查你上传文件的代码,是不是少写入了东西
2. 检查你上传文件后的权限,你的是WinForm还是WebForm?你上传以后是立即读取还是分配给其他应用进行读取?

追问

上传的文件就是一个Excel文档。。应该没少些东西啊。。我直接复制过去的再读没点问题

我的是WebForm。。上传之后放到一个指定的文件夹后就立即读取然后写入数据库。。。

而且报错是 外部表不是预期的格式 是什么意思呢???

追答

外部表不是预期的格式,这么举个例子吧,假设(注意是假设)你的OleDB只能读取Access,你非得让它去读取Excel,那肯定会报格式不正确。所以你在读取的时候改用Aspose.Cells去读取即可

温馨提示:答案为网友推荐,仅供参考
相似回答