Во-первых, я хочу сказать, что я нахожусь в глубокой воде, поскольку я просто делаю некоторые изменения в коде, который написан кем-то еще в компании, используя 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, но числовые отображаются нормально?Есть другие столбцы с буквенно-цифровым содержимым, которые отображаются просто отлично.