У меня есть файл Excel (.xls) с 4 столбцами, и все столбцы являются «общими» и без заголовка. Столбцы A и B содержат текст, столбец C содержит числа, столбец D содержит текст. Когда я читаю данные (код ниже), читатель может видеть только 3 столбца (A, B, C), читатель не видит (не распознает) столбец D (рисунок ниже). Я добавил IMEX = 1 в строку подключения, я изменил реестр - TypeGuessRows установил его в 0 (изображение ниже), но все это мне не помогло - все еще есть та же проблема. Кто-нибудь знает, почему после столбца, который содержит цифры, JET доза не видит в текстовом столбце?
string sourceFileServer = @"C:\TEST\Excel1.xls";
using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFileServer + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\";"))
{
OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$];", connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
int _row = 0;
while (reader.Read())
{
_row++;
try
{
string _v0 = ((string)reader[0]).Trim();
string _v1 = ((string)reader[1]).Trim();
string _v2 = reader[2].ToString().Trim();
string _v3 = ((string)reader[3]).Trim();
MessageBox.Show(_v0 + "|" + _v1 + "|" + _v2 + "|" + _v3 + "|");
}
catch (Exception xcp)
{
MessageBox.Show(xcp.Message);
}
break;
}
reader.Close();
}
reader реестр