您的位置:首页 > 其它

从Excel读数据,有时候会读出空的字符串

2008-09-12 09:57 190 查看
Code

connectString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = '"

+ templateName + "';Extended Properties = 'Excel 8.0;HDR=YES;IMEX=1;'";

excelOleDBConnection = new OleDbConnection(connectString);

excelOleDBCommand = new OleDbCommand("SELECT * FROM [" + sheetName + "$]", excelOleDBConnection);

excelOleDBDataAdapter = new OleDbDataAdapter(excelOleDBCommand);

excelOleDBDataAdapter.Fill(templetData);

excelOleDBCommand.Dispose();

excelOleDBDataAdapter.Dispose();

记得设置 IMEX=1,否则会有可能对默写混合类型的数据读出来是空的情况

HDR=Yes/No

可选参数,指定 Excel 表的第一行是否列名,缺省为 Yes,可以在注册表中修改缺省的行为。

IMEX=1

可选参数,将 Excel 表中混合 Intermixed 数据类型的列强制解析为文本

HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.

"IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐