追寻人生

学习之园地,创意之源泉

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  33 随笔 :: 13 文章 :: 26 评论 :: 0 引用
OleDbConnection myOleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(filepath)+";Extended Properties='Excel 8.0;IMEX=1'"); 
OleDbDataAdapter myOledbDataAdapter = new OleDbDataAdapter("SELECT * FROM [student$]",myOleDbConnection);
DataSet ds = new DataSet();
myOledbDataAdapter.Fill(ds);

当程序运作到此处时,会提示“外部表不是预期的格式”的错误。


解决方法:
    用记事本打开你的excel文件,看看显示是否为乱码。
    若是html代码,则表示你的excel文件格式不是标准的excel格式,才会提示“外部表不是预期的格式”的错误;
    若是乱码,我这边测试是不会提示这个错误的,可以成功导入。

posted on 2007-12-07 11:36 追梦华仔 阅读(8367) 评论(6) 编辑 收藏

评论

#1楼 2007-12-07 14:33 小寒      
其实出现这个错误的原因是,你的Excel是从程序中导出的,并且是使用
Response的方式直接把html代码输出到Excel中的
其实是可以解决的,到处的时候使用Excel操作Api来导出就是标准格式
 回复 引用 查看   

#2楼[楼主] 2007-12-07 16:02 王银华      
你好!我用excel操作api,会出错呀,详情看我的这篇
http://www.cnblogs.com/huazai8204/archive/2007/12/06/985730.html
帮我指点一下。
 回复 引用 查看   

#3楼 2008-09-25 17:46 yingko[未注册用户]
用记事本打开你的excel文件,显示是否为乱码。可是该怎么办啊
 回复 引用   

#4楼 2011-09-16 10:06 LYSon      
其实问题可能在 "SELECT * FROM [student$]" ,你的表中没有名称为“student” 的表。
 回复 引用 查看   

#5楼 2011-10-14 10:26 milotene      
@LYSon
这个不是原因
 回复 引用 查看   

#6楼 2011-10-14 10:30 milotene      
我用记事本打开excel,是乱码,解决不了问题——出错提示:外部表不是预期的格式
 回复 引用 查看