海阔天空

导航

Excel连接字符串

通过OleDb方式读取Excel文件时常常出现读取某些字段为null值,其实是有值,原因是读取文件时,Excel通常会以前10行的数据类型为参考,如果后边的与其不一致,则会出现些问题。 可以通过修改Excel文件的连接串,强制读取的数据为字符串类型。

string xlsConnFormat = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='{0}';Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
// 1、HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes;
// 2、通过IMEX=1来把混合型作为文本型读取,避免null值。

注意:把一个excel文件看做一个数据库,一个sheet看做一张表。语法 "SELECT * FROM [sheet1$]",表单要使用"[]"和"$"

默认Excel的表,列名是"F1 ~ F99"。

如果提示 “找不到可安装的ISAM。”错误,主要还是Connection字符串的问题,请注意Data Source之间是否空格,Extended Properties是否书写正确。

Important note: if you are selecting data for a specific date you can use the following:
"SELECT * FROM [Sheet1$] where datecol=#3/15/2009#"
don't try to use the single quotes " ' ".

posted on 2010-01-22 21:50  达芬奇  阅读(6040)  评论(0编辑  收藏  举报