Проблема с использованием OleDbDataAdapter для извлечения данных из листа Excel

Во-первых, я хочу сказать, что я нахожусь в глубокой воде, так как я просто делаю некоторые изменения в коде, который написан кем-то еще в компании, используя OleDbDataAdapter, чтобы «общаться» с Excel, и я не знаком с этим. Там есть одна ошибка, за которой я просто не могу следить.

Я пытаюсь использовать OleDbDataAdapter для чтения в файл Excel с около 450 строк.

В коде это сделано так:

connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source='" + path + "';" + "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\"");
connection.Open();
OleDbDataAdapter objAdapter = new OleDbDataAdapter(objCommand.CommandText, connection);
objAdapter.Fill(objDataSet, "Excel");

foreach (DataColumn dataColumn in objTable.Columns) {
  if (dataColumn.Ordinal > objDataSet.Tables[0].Columns.Count - 1) {
    objDataSet.Tables[0].Columns.Add();
  }
  objDataSet.Tables[0].Columns[dataColumn.Ordinal].ColumnName = dataColumn.ColumnName;
  objImport.Columns.Add(dataColumn.ColumnName);
}

foreach (DataRow dataRow in objDataSet.Tables[0].Rows) {
   ...
}

Кажется, все работает нормально, кроме одной вещи. Второй столбец заполнен в основном четырьмя цифрами, такими как 6739, 3920 и т. Д., Но строки fice имеют буквенно-цифровые значения, такие как 8201NO и 8205NO. Сообщается, что эти пять ячеек содержат пустое содержимое вместо их буквенно-цифрового содержимого. Я проверил в Excel, и все ячейки в этих столбцах помечены как текст.

Кстати, это файл xls, а не xlsx.

Кто-нибудь знает, почему эти ячейки отображаются как пустые в DataRow, а числовые отображаются нормально? Есть другие столбцы с буквенно-цифровым содержимым, которые отображаются просто отлично.

Ответы на вопрос(3)

Ваш ответ на вопрос