在以往读取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可以先去做一个采样,然后根据结果去猜一下数据类型。
读取Excel文件时字段类型的问题
最新推荐文章于 2022-05-07 09:53:43 发布
本文介绍了一种解决Excel文件中特定字段被误读为null值的方法。通过调整连接字符串中的参数,如设置HDR=YES及IMEX=1,可以确保所有数据被视为字符串,从而避免因数据类型不匹配导致的问题。
946

被折叠的 条评论
为什么被折叠?



