Пустые пространства и oledb - PullRequest
1 голос
/ 18 января 2011

Я читаю файл Excel, используя OleDb на ASP. 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 и изменить тип ячейки на «текст», потому что конечный пользователь не должен беспокоиться об изменении этого, так как я могу преодолеть это?

Привет!

1 Ответ

3 голосов
/ 18 января 2011

Рассматривали ли вы строку подключения?

"IMEX = 1;"говорит драйверу всегда читать «смешанные» (числа, даты, строки и т. д.) столбцы данных в виде текста.Обратите внимание, что этот параметр может повлиять на отрицательный доступ к записи на листе Excel.

...