文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#读取Excel文件时遇到: 未指定的错误

C#读取Excel文件时遇到: 未指定的错误

时间:2011-04-01  来源:西瓜糖

string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+ViewState["filepath"].ToString()+";Extended Properties=Excel 8.0" ;
        OleDbConnection conn = new OleDbConnection(strConn);
              conn.Open();
            OleDbDataAdapter adp = new OleDbDataAdapter("Select * from [Sheet1$]",conn);
        DataSet ds = new DataSet();
        adp.Fill(ds,"Book1");
          ExlDataGrid.DataSource = ds.Tables["Book1"].DefaultView;
           ExlDataGrid.DataBind();
  •   运行就会出现未指定的错误
    郁闷了半天,终于解决了,
    是因为web.config文件中加了一句:<identity impersonate="true"/>。把这句注释掉就可以了。
    他的原理是什么呢,需要研究一下. 
      
    将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表
    ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
    Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”
    如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型
    解决方法:把excel 单元格中的数据类型转为stirng 类型
    连接字串写成"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" 
    加上hdr=yes;imex=1就可以了.
     "HDR=Yes;" indicates that the first row contains columnnames, not data 
     "IMEX=1;" tells the driver to always read "intermixed" data columns as text 
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载