首页 新闻 赞助 找找看

.net连接excel时,报错外部表不是预期的格式。

0
悬赏园豆:10 [待解决问题]

string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";//连接

office 2007的,求大虾们看看阿,困扰好久了。

Anljosib的主页 Anljosib | 初学一级 | 园豆:182
提问于:2013-03-05 17:14
< >
分享
所有回答(6)
0

这个没用过,但是建议如果数据量不大,你又想减小打包的大小.建议使用xml文件吧.xml一则可以存储数据达到Excel的效果,还可以减小项目大小

伏草惟存 | 园豆:1420 (小虾三级) | 2013-03-05 22:00
0

应该是连接字符串的问题。

http://www.connectionstrings.com/excel-2007

这个地方可以对照看看。

来自北方 | 园豆:399 (菜鸟二级) | 2013-03-06 08:50
0

path 要用 引号括起来。

 String _connectionStringFormat = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""+ path + @"";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1""" ;

不行试试 Excel 12.0

gunsmoke | 园豆:3592 (老鸟四级) | 2013-03-06 10:46
0
string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";试试这个看有没有效。。。如果没有效果的话,也许是你其他代码的问题,可以贴出来看一下。。。
allon6318 | 园豆:858 (小虾三级) | 2013-03-11 16:20
0

读取excel ,建议可以试用一下linqtoexcel

晓风拂月 | 园豆:228 (菜鸟二级) | 2013-04-26 17:16
0

将Excel另存为一个新文件,再导入这个新文件试试,之前也遇到过,是从项目里导出的Excel模板,虽然后缀是xls,实则为html编码,再直接用Microsoft.ACE.OLEDB导入是不行的;

 

如果想彻底解决的话,建议不要使用Microsoft.ACE.OLEDB,因为大部分真实的服务器上并未安装Microsoft.ACE.OLEDB,你可以研究一下Aspose操作Excel

Louis_giao | 园豆:307 (菜鸟二级) | 2018-05-09 16:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册