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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
爱范儿
爱范儿
博客园 - 聂微东
美团技术团队
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
云风的 BLOG
云风的 BLOG
罗磊的独立博客
V
Visual Studio Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - mingal

调用WScript.Shell时产生Automation 服务器不能创建对象的错误 - mingal - 博客园 调用Microsoft.Jet.OLEDB.4.0需要MDAC2.7支持 - mingal - 博客园 无法访问 Windows Installer 服务 无法连接SQL Server服务器问题解决方案 关于HUAWEI EG162G安装使用问题解决方案 asp.net 1.0与2.0访问时遇到Server Application Unavailable - mingal 关于Oracle用sqlldr导入限制值长度大于255问题解决方法 AT指令发送PDU短信 - mingal - 博客园 C#格式化数值 - mingal - 博客园 数据库链路ORA-02085 CSDN.enhao(恩豪)对手机软件开发的看法 C#读取Excel数据,文件中某些数据读取到DataSet中却为空 关于2003Server下IIS运行.net程序IE无法访问出现403.1错误的解决过程 Javascript 操作(新增、修改、删除、选中、清空、判断存在等)select控件 Oracle下建立同义词(Synonym) 神秘园音乐 event.srcElement的属性 107条javascript常用小技巧 唉!Oralce弱智的两表关联更新问题
关于在C#中读取导入的Excel一些值为空的解决方法
mingal · 2009-10-20 · via 博客园 - mingal

偶然间,有人说我的程序在导入Excel时,会丢失一些手机号,或者固定电话号,于是我就自己建立了一个Excel试了一下,没有发现此问题。

而我将别人导入有问题的数据试了一下,的确有此问题,这就怪了!

于是在网上搜索,问题出在于,他们将数据填入Excel时,有些格式是数值类型,有些是文本类型,

当用OleBb读取Excel的时候,在Extended Properties中若没有配置IMEX=1的属性,微软的处理机制是将列转换为同一类型来读取的.例如在第一行写的数值格式,而第二行写的文本格式,就会出现某些列有值却读不出来.其实问题也很简单,如果知道问题所在的话.属性设置为"IMEX=1"即可。

代码如下:

        string strConn;
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AimFile + ";Extended Properties='Excel 8.0;IMEX=1';";
        OleDbConnection conn = new OleDbConnection(strConn);
        //读取工作区“Sheet1”中的数据
        OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
        DataSet myDataSet = new DataSet();
        myCommand.Fill(myDataSet);

        return myDataSet;//返回数据集