在操作excel将数据从外部导入到数据库时,
刚开始操作的没有问题的,却报出了:“外部表不是预期的格式”错误信息。
仔细查看excel没有问题,
查阅资料,发现有人说:
解决方法:用记事本打开你的excel文件,看看显示是否为乱码。若是html代码,则表示你的excel文件格式不是标准的excel格式,才会提示“外部表不是预期的格式”的错误;若是乱码,我这边测试是不会提示这个错误的,可以成功导入。其实出现这个错误的原因是,你的Excel是从程序中导出的,并且是使用 Response的方式直接把html代码输出到Excel中的 其实是可以解决的,导出的时候使用Excel操作Api来导出就是标准格式 ----------------------------------------------------------------------------------------------------- 遇到了这个问题,Response输出的EXCEL文件修改后上传更新时出错,“外部表不是预期的格式”解决方式: 1 .用EXCEL另 存为功能另存成标准格式XLS格式(Response导出的其实是网页文件)
文章出处:http://www.cnblogs.com/Fly-sky/archive/2009/11/03/1595227.html
附上导入excel数据的代码:
代码 1 /// <summary> 2 /// 读取Excel文档 3 /// </summary> 4 /// <param name="Path"> 文件名称 </param> 5 /// <returns> 返回一个数据集 </returns> 6 public DataSet ExcelToDS( string Path) 7 { 8 string strConn = " Provider=Microsoft.Jet.OLEDB.4.0; " + " Data Source= " + Path + " ; " + " Extended Properties=Excel 8.0; " ; 9 OleDbConnection conn = new OleDbConnection(strConn); 10 conn.Open(); 11 string strExcel = "" ; 12 OleDbDataAdapter myCommand = null ; 13 DataSet ds = null ; 14 strExcel = " select * from [sheet1$] " ;//这也是不方便的一点,如果修改excel文件sheet的名称,这里也要跟着变化。如果名称不对会报错:'Sheet1$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。原因就在这里。 15 myCommand = new OleDbDataAdapter(strExcel, strConn); 16 ds = new DataSet(); 17 myCommand.Fill(ds, " table1 " ); 18 return ds; 19 }
碰到过的问题,查一下,记录下来,虽有重复,可供参考。呵呵,错一点,改一点,也就进步了。开心,好运!
转载于:https://www.cnblogs.com/angleSJW/archive/2010/04/01/1702676.html
相关资源:各显卡算力对照表!