读取Excel文件时出现null的解决方法

在以往读取Excel文件时常常出现读取某些字段为null值,其实是有值,原因是读取文件时,Excel会以第一行的数据类型为参考,如果后边的与其不一致,则会出现些问题。

以下一个朋友的解决方案,他的Excel文件的连接串写作如下。据说可以强制数据为字符串,具体我没有再测试。仅供参考。

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";

其中红色的部分比较值得注意,HDR和IMEX一定要配合使用,HDR表示要把第一行作为数据还是作为列名,作为数据用hdr=no,作为列名用hdr=yes;通过Imex=1来把混合型作为文本型读取,避免null值。SSIS中的Excel Connection和其他的Connection不一样,用户不需要指定数据类型,Excel的driver可以先去做一个采样,然后根据结果去猜一下数据类型。

时间: 2024-09-17 04:00:45

读取Excel文件时出现null的解决方法的相关文章

java-在使用JXLS读取excel文件时,超过10位的数字格式错误

问题描述 在使用JXLS读取excel文件时,超过10位的数字格式错误 Hi,我正在使用jxls实现导入excel的功能.但现在遇到一个很棘手的问题:jxls在遇到长度超过10位的数字时,如12345678912,会将其转成1.2345678E10.有没有什么办法可以解决这个问题. 解决方案 excel中按右键 点击设置单元格格式 把这串数字编辑成为字符串文本格式 然后保存 解决方案二: 可以在excel中数字之前加上', 这样就可以把这个单元格的内容变成文本,程序里取字符串 不要取数字

iOS读取txt文件出现中文乱码的解决方法_IOS

一.情景描述:  后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况.  二.尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8StringEncoding,NSASCIIStringEncoding编码等,出现的问题有时是中文乱码,有时是utf-8不能打开文件问题,最终问题都没能解决.  三.猜测原因: txt文件是从window电脑上创建,有可能和环境有关,第二,编码问题.

在读取Excel文件时,遇到粗体字就读不出来了,有什么办法么?

问题描述 我是把Excel文件作为数据源进行读取stringconStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+fileName+";ExtendedProperties='Excel8.0;HDR=YES;IMEX=1';";OleDbConnectionconnection=newOleDbConnection(conStr);但是遇到excel文件中有粗体字的部分,读下来发现都是:"????&q

PHPExcel导出Excel文件时出现错误的解决办法

PHPExcel是PHP中功能最强大的导入.导出.操作Microsoft Excel的开源项目.但是它体系复杂,有时会让人难以掌控. PHPExcel导出Excel表的使用方法网上已经很多了,本文就不赘述.不过,在使用过程中,我却发现了一个莫名其妙的问题:那就是使用PHPExcel自动导出excel的文件有时候能够正常导出并打开,有时候生成的excel文件却无法打开,Excel2007提示"发现无法读取的内容". 使用文本编辑器打开生成的Excel文件,发现一行提示"Fata

MAC系统下读取csv文件出现错位问题的解决方法

一些MAC用户在使用Numbers打开.CSV文件时,总是会出现表格内容错位的问题.对于这个问题我们该怎么解决呢?现在就让小编来告诉大家一种简单而又实用的小技巧吧. 本应填入5个单元格的文字,全都挤在了第一格 解决方法: 1. 把表格文件的扩展名由".CSV"改成".txt"(选中,单击回车就能改名). 2. 再用苹果iWork Numbers打开,表格数据就不错位了.   这个方法是不是特别简单呢?不过它也是非常实用的,只要Numbers打开.CSV文件出现内容错

JXL操作一个两万多条数据的EXCEL文件时出错!怎么解决?(急...)

问题描述 在创建WORKBOOK对象的时候就出错了...outofmemory了怎么解决,要把这些数据导入到数据库,有什么高一点效率的方法没? 解决方案 解决方案二:没人知道吗?问题急着解决呢...解决方案三:分批量导入嘛--!解决方案四:恭喜啊几万条的数据也用第三方库去写撑死系统内存啊要不就用csv文件代替要不就写多个excelzip后发出去解决方案五:该回复于2011-05-10 13:02:45被版主删除解决方案六:用JDBC.....写入excel不过connection到一定的量的时候

双击excel文件打不开的解决方法

  我们分两种情况讨论一下: 1.一直都是打不开,操作步骤如下: 工具,选项,常规标签,将忽略其它应用程序这个复选项前的勾去除即可. [这种情况很多时候是由于版本或其他原因引起的] 2.如果有时候能打开,有时候打不开,且按照第一种情况操作后,故障依旧,那么很可能是因为进程中已经存在Excel的句柄,也就是说,Excel已经启动了,但是子窗体不能被创建. 那么你只要关闭Excel进程,重新打开就可以了,步骤如下. Ctrl+Alt+Del-->任务管理器-->进程-->选中Excel.ex

动态创建script在IE中缓存js文件时导致编码的解决方法_javascript技巧

先看下重现代码 1, gb2312.html 该文件编码为gb2312 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title></title> <meta charset="gb2312"/> <style> p { color: red; } </style> </head> <body> <button onclic

访问JSP文件或者Servlet文件时提示下载的解决方法

          同样的程序有的浏览器出错,有的浏览器不出错.错误的原因是设置MIME类型的代码有误.  如果是JSP文件:             代码如下: <%@ page contentType="text/html;charset=gb2312"%>  如果是Servlet文件:          代码如下: response.setContentType("text/html;charset=gb2312");