解决同一列中“字符串”和“数字”两种格式同时存在,读取时,不能正确显示“字符串”格式的问题:set xlsconn=CreateObject("ADODB.Connection") xlsconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(xlspath)&";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
主要是驱动的问题,需要添加hdr 和 imex,
其中,hdr取值yes,no ,表示第一行是否为字段名
imex  取值1,2,
其中1  正是解决此问题的关键

“HDR=Yes;”指示第一行中包含列名,而不是数据;

“IMEX=1;”通知驱动程

序始终将“互混”数据列作为文本读取。

两者必须一起使用。

如果不行使用下边的方法:

本以为这样就OK了。但在实际使用过程中,这样设置还是不行,查阅了不少资料才发现,原来还有一个注册表里的信息需要修改,这样带能让excel不再使用前8行的内容来确定该列的类型。

注册表修改内容如下:

在HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Excel有一个TypeGuessRows值,预设是8,表示会先读取前8列来决定每一个栏位的型态,所以如果前8列的资料都是数字,到了第9列以后出现的文字资料都会变成null,所以如果要解决这个问题,只要把TypeGuessRows机码值改成0,就可以解这个问题了。

OleDbConnection 从索引 166 处开始,初始化字符串的格式不符合规范。

连接Excel 提示   从索引 166 处开始,初始化字符串的格式不符合规范。

原来机器只安装的wps测试没问题 连接字符串是 String.Format(@"Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;Data Source={0};Extended Properties=\Excel 12.0;HDR=YES;IMEX=1;\", FilePath);

出错原因是 Extended Properties里面的内容没有加引号

String.Format(@"Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;Data Source={0};Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""", FilePath);

 
 

解决读取Excel表格中某列数据为空的问题 c#的更多相关文章

  1. 读取Excel表格中数据原型

    写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...

  2. 利用java反射机制实现读取excel表格中的数据

    如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...

  3. python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  4. C#读取Excel表格中数据并返回datatable

    在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...

  5. java用poi读取Excel表格中的数据

    Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版.Apache POI 代 ...

  6. java读取Excel表格中的数据

    1.需求 用java代码读取hello.xls表格中的数据 2.hello.xls表格 3.java代码 package com.test; import java.io.File; import j ...

  7. php 读取excel表格中的内容

    <?php /** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/vi ...

  8. OLEDB读取EXCEL表格时,某些字段为空,怎么办?

    转载:http://blog.sina.com.cn/s/blog_53864cba01011cbn.html   前些日子,写了一个Excel导入数据库的共同Batch,突然有一天发现当我修改Exc ...

  9. 造excel表格横、列数据每一格自动累加填充效果

    1.需求 excel每个横格子和竖格子number数据不一致的情况,保持如下金额字段每次自动累加 2.步骤: 1)设置excel格子为number格式(可以不要小数) 2)选中需要增序的单元格,选择e ...

随机推荐

  1. 百练6376-二维数组右上左下遍历-2015正式C题

    C:二维数组右上左下遍历 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺 ...

  2. hdu--1029 编程之美 在数组a中 (元素个数n n是奇数)找一个数字 它出现的次数大于(n+1)/2

    我为什么总是犯这些愚蠢错误啊,还是自己逻辑不够严谨. 努力ing...... #include <iostream> #include <cstdio> #include &l ...

  3. currentStyle&getComputedStyle获取属性

    方法如下: function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; // IE 中的方法 } ...

  4. 同一个页面引用不同版本jquery库

    (如有打扰,请忽略)阿里云ECS大羊群,2U4G低至1.4折,限实名新用户,需要的点吧https://promotion.aliyun.com/ntms/act/vm/aliyun-group/tea ...

  5. js实现一条抛物线

    抛物线运动解释: 以右开口为例,根据公式  y^2 = 2px .确定p的值,已知x求y. <!DOCTYPE html> <html> <head> <me ...

  6. Java-简单的计算器(只能进行加法运算)

    有两个关键的地方: 其一: JTextField field=new JTextField(10); 这是一个文本输入框,里面的参数10的意思是,这个输入框的长度为10列 其二:点击求和按钮,出结果 ...

  7. shell批量创建随机文件名格式文件

    //随机生成文件 //文件名会带数字的...注意echo后面的是反引号,不是单引号 #!/bin/bash dir=/root/bp for i in 'seq 10' touch $dir`echo ...

  8. Gravitee.io Access Management 组件

    Access Management组件在Gravitee.io 主要是进行认证以及权鉴的处理,支持oauth2 以及openid connect 等协议,同时好多功能已经集成在ui 管理界面上了,还是 ...

  9. 应用端连接MySQL数据库报Communications link failure

    事情的起因: 某项目的开发同学突然Q我们组的某同学,要求我们调整MySQL的连接等待超时参数wait_timeout.要求我们从28800s调整到31536000s(也就是一年) 应用端测试环境的to ...

  10. centos7 关闭防护墙

    centos6 里面的默认防火墙 是  iptables, 所有 使用 service iptables  stop  就可以停止防火墙了. 但是 centos7 里面的 防火墙 叫做 firewal ...