[转]数据库连接方式读取不到Excel数据值的解决方法
由于工作的需要,最近做了一个读取Excel文件与CSV文件关联的数据处理程序,主要用于PDA采集数据的后期处理。
当时有两种方法可用来读取Excel数据,一种是引用Excel的类库,另一种是将其作为扩展数据文件,用ADO连接方式来处理。从性能、工作量等多个方面考虑,我毫不犹豫地选择了后面的方案来进行工作。
一、问题描述:
工作很顺利地便完成了,心底里有一点点高兴,对自己来讲,这种东西太小儿科化了(呵呵,有点自夸了,别当真^_^)。可是后面的过程中却遇到了较大的麻烦:凡是在Excel中打开的xls文件,如果单元格错误检查存在问题,那么其中的数据读取出来便是空(null)。具体体现在如果这个列为数值型,如果改为文本存储方式或其它方式,那么这些列的数据便读取不到。
二、问题分析:
经过多次测试发现问题都不能解决,除非修改列存储方式,但是这种工作量实在太大,根本没有可行性。冷静下来思考了一下,我估计是驱动程序的问题,便将连接方式如下,可是却出现“找不到可安装的ISAM错误”,实在是比较郁闷。
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties='Excel 11.0;'";
原来的连接方式为:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties='Excel 8.0; '";
说明:Excel8.0 对应office 2000,Excel 11.0对就office2003
三、问题解决:
后来经过搜索与分析,将连接方式改成如下,问题解决了:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
成功原因:
参数说明: Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键字设置 Excel 特定的属性。“HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。
注意http://msdn2.microsoft.com/zh-cn/library/ms254978.aspx 默认情况下,系统认为 Excel 数据源的第一行包含可用作字段名的列标题。如果不是这种情况,则必须将该设置关闭,否则,第一行数据将会“消失”,而被用作字段名称。这可通过向连接字符串的扩展属性添加可选的 HDR= 设置来完成。默认情况下(无需指定)是 HDR=Yes。如果没有列标题,则需要指定 HDR=No;提供程序将字段命名为 F1、F2 等等。因为扩展属性字符串现在包含了多个值,所以必须用引号单独包起来。
[转]数据库连接方式读取不到Excel数据值的解决方法相关推荐
- python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法
Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...
- Java读取和解析Excel数据:基于Apache POI(二)
Java读取和解析Excel数据:基于Apache POI(二) 假设附录1文章中的test.xls是对员工的考勤记录表.需要根据这张excel表统计员工的加班时间,那么需要重点关注第五列的下班时候的 ...
- navcat导入mysql bak_navcat excel数据导入mysql的方法
navcat excel数据导入mysql的方法 先navcat导出 xls格式 然后把数据复制到往这个xls里 (按照这个xls格式) 然后导入mysql就行了 如果导入的过程无法识别excel里的 ...
- oracle将excel导入,Win7系统把Excel数据导入oracle的方法(图文)
今天本教程小编分享Win7系统把Excel数据导入oracle的方法,操作数据库时,将Excel的数据导入到oracle中是非常常见的方式,但是有很多新手用户不知道Win7系统怎么把Excel数据导入 ...
- oracle+excel转txt,Excel数据导入Oracle的方法
Excel数据导入Oracle的方法 最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很 ...
- 机器学习数据倾斜的解决方法_机器学习并不总是解决数据问题的方法
机器学习数据倾斜的解决方法 总览 (Overview) I was given a large dataset of files, what some would like to call big d ...
- 模板引擎不关心内容之——art-template,碰见的同步与fs.readFile异步以及函数回调问题的描述,针对fs的readfille读取文件时,返回不了异步函数返回值的解决方法
模板引擎不关心内容 art-template art-template不仅可以在浏览器使用,也可以在node中使用 npm install art-template该命令在哪执行就会把包下载在哪里,默 ...
- office excel无法打开超链接解决方法
office文档超链接打不开提示"由于该计算机受到限制,本次操作已被取消.请与您的系统管理员联系",这是怎么回事呢?下面为大家带来了4种解决方法哦,一个是用cmd命令解决的,一个是 ...
- excel转java 常量_【转】八种常见Excel错误提示及解决方法
Excel经常会显一些错误值信息,如#N/A!.#VALUE!.#DIV/O!等等.出现这些错误的原因有很多种,最主要是由于公式不能计算正确结果.例如,在需要数字的公式中使用文本.删除了被公式引用的单 ...
- Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法
Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法 在VS2008 中写了一个EXCEL的导出功能的东西,但在Windows Server 20 ...
最新文章
- DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测
- 对联一副,勉励奋斗在网络事业上的兄弟们
- 作者:龚南宁,数据堂(北京)科技股份有限公司对外合作部副总监
- 11 月全球 Web 服务器调查报告:nginx 表现最佳
- 如何让自己时刻冷静的方法_睡前如何自己丰胸 健康有效方法 成就窈窕淑女
- Hbase Cellutil源码
- 北漂周记--第5记--拼命编程
- Android组件化开发实践
- 《可信计算的研究与发展》;C-Rank:一种Deep Web数据记录可信度评估方法
- 知名公司GitHub官网
- 使用PGP加密你的文件
- 如何从技术上实现「朋友圈@微信官方头像添加圣诞帽」?
- Error:(292, 40) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) ........
- 【创作中心】自定义模板的使用
- 用线程加锁模拟红绿灯
- shell检测连接数最多的IP
- 基于Android的车位共享系统的设计
- 在网易做游戏美术设计师是种什么体验?
- 壹佰智慧门店V3 v3.0.89
- 面向对象程序设计(Java)实验
热门文章
- ArcGIS 城市生活区用地适宜性评价(一)
- Node安装模块命令
- Springmvc 应用Mongodb分页实现
- android BaseAdapter多布局缓存
- Android TV开发总结【适配】
- 自动按键 回车 变成_【按键大扫荡】驾驶员的“眼”
- 服务器的作用及用途,服务器的作用和用途是什么
- 超级计算机燕 排名,特斯拉超级计算机算力全球第五,展现无人驾驶领域野心...
- Vue.use 写多个_西双版纳能写立项报告收费公司
- 微信小程序跳过第三方的_微信小程序工具 第三方平台