惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
腾讯CDC
Y
Y Combinator Blog
L
LangChain Blog
B
Blog
U
Unit 42
P
Proofpoint News Feed
G
Google Developers Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
WordPress大学
WordPress大学
月光博客
月光博客
Vercel News
Vercel News
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗

博客园 - 生活即技术

好久不更新了,忙的惭愧哦,思考一个应用 利用dataTable 排序的解决方法 常用代码 一个com+消息队列的例子 部署Com+ 2004我的爱,2005我的期待 加密解密相关 生成略缩图 论坛在线人数统计代码 上礼拜六犯的愚蠢错误 正则表达式(1) 又一新的分页方法(转帖) 用户控件的使用(二) 用户控件的使用(一) DataList的使用(二)自定义分页的实现 DataList的使用(1) DataGrid的使用(2)自定义分页 DataGrid的使用(1)
项目中遇到的一些小问题及解决方法
生活即技术 · 2005-11-16 · via 博客园 - 生活即技术
  • C#读取Excel文件时遇到: 未指定的错误
       源码:
         

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
    具体参考http://www.connectionstrings.com/
    以上参考网上资料,供遇到同样问题的朋友参考