白色空间和oledb

时间:2011-01-18 17:03:01

标签: c# asp.net excel oledb

我在ASP上使用OleDb读取excel文件。 NET(C#)。 所有信息都返回正常,我很惊讶地发现即使Excel文件中定义的单元格类型也会返回到我的代码中。 问题是我的列中所有单元格都是“常规”类型,并且由于值只是数字,因此Excel将其视为数字。 如果没有空格,olebd驱动程序会向我的代码返回正确的值,但如果有空格则返回“”...

以下是我获取信息的方式:

OleDbConnection oleDbConn = new OleDbConnection(connString);
oleDbConn.Open();
OleDbCommand oleDbComm = new OleDbCommand("SELECT * FROM [Sheet1$]", oleDbConn);
OleDbDataAdapter oleDbDtAdapter = new OleDbDataAdapter();
oleDbDtAdapter.SelectCommand = oleDbComm;

DataSet dtSet = new DataSet();
oleDbDtAdapter.Fill(dtSet, "SMSs");
Object testZeroZero = dtSet.Tables[0].Rows[0][0];

我无法转到Excel并将单元格类型更改为“text”,因为最终用户不必担心更改此问题,以便我如何克服这个问题?

问候!

1 个答案:

答案 0 :(得分:3)

您是否考虑过您的连接字符串?

  

“IMEX = 1;”总是告诉司机   读“混合”(数字,日期,   字符串等)数据列为文本。   请注意,此选项可能会影响   excel表写访问否定。

- http://www.connectionstrings.com/excel