Я использую oledb
для чтения из файла excel.Чтение из файла excel с использованием oledb - пустые строки
DataTable sheet1 = new DataTable();
string excelCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0 Xml;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";
using (OleDbConnection connection = new OleDbConnection(excelCS))
{
connection.Open();
string selectSql = @"SELECT * FROM [Sheet1$]";
using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectSql, connection))
{
adapter.Fill(sheet1);
}
connection.Close();
}
Но есть проблемы с некоторыми ячейками файла.
Для некоторых ячеек я получаю пустое значение вместо текста. Я попытался поместить другой текст в эти ячейки, но это не сработало - я все равно получаю пустые строки. Но после удаления столбца и вставки снова мое приложение получает правильное значение ячейки. Важно то, что проблема связана не со всеми ячейками в столбце.
Это проблема с форматом ячейки или чем-то еще? Этот файл excel будет сгенерирован другой системой, поэтому я не буду изменять его вручную.
Есть ли у кого-нибудь какие-либо предложения, что не так, и что я могу сделать?
Пробовали ли вы с 'IMEX = 1 '? –
Спасибо, я делаю это в первый раз, и я не знал об этом. Теперь он работает отлично. Спасибо огромное! –
Рад, что это помогло. Прочтите [ЗДЕСЬ] (http://www.connectionstrings.com/excel-2007/), чтобы узнать больше о IMEX –