Вот мой код для чтения загруженного файла Excel. Что работает абсолютно нормально в течение последних 3 месяцев.Чтение заблокированного файла Excel (.xlsx), с использованием C#
var connectionString = GetOleDbConnectionString(file);
using (var dataAdapter = new OleDbDataAdapter("select * from [Sheet1$]", connectionString))
{
dataAdapter.Fill(ds, tableCount.ToString());
}
private static string GetOleDbConnectionString(string file)
{
var fileExtension = Path.GetExtension(file);
if (fileExtension.EqualsCCIC(".xlsx"))
{
return @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;".F(file);
}
}
Проблема: загруженное первенствует файл получил "StartDate" в первом столбце. Но в этой колонке также есть имя сотрудника вместе с датами (мне нужно прочитать это имя сотрудника для обработки этого листа).
Я столкнулся с одним новым файлом Excel (Excel2007 .xlsx). Когда я загружаю новый файл (который имеет как имя сотрудника, так и даты), он считывает только даты из столбца и игнорирует имена сотрудников. мой набор данных показывает (хотя и отлаживает) эти ячейки в таблице данных как пустые строки. Согласно бизнес-логике, мне нужно знать, к какому сотруднику относятся эти даты. Я удалил блокировки для всего листа (форматирование ячейки >> Защита >> блокировка), но по-прежнему бесполезно. Как я могу решить эту проблему? У меня нет подсказки ...
Он успешно читает старые файлы (2007 .xlsx) Я не понял, что это делает OLEDB для скрытия строк в столбце Date?
Благодарности Я только изменил мою строку подключения. Включено HDR = Нет; IMEX = 1 в расширенных свойствах. – Jayee