kykyryky
@kykyryky

Какие есть особенности при работе с excel файлами через ole db?

Например есть код:
OleDbCommand command = new OleDbCommand();
OleDbConnection connection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=Excel 8.0;");
connection.Open();
string sql = "select * from Sheet1";
command.Connection = connection;
command.CommandText = sql;
OleDbDataReader reader = command.ExecuteReader();
...


Правильно ли я понимаю, что структура файла должна быть ровно как таблица бд? никаких объединенных ячеек, никаких красивых шапок и заголовков.
Если я создаю файл с помощью запроса CREATE TABLE, а потом добавлю туда строки в MS Excel или Calc, то, загружая содержимое с помощью ole db, этих строк он не видит, или получаю исключение ""невозможно найти устанавливаемый ISAM", или "Объект "Sheet1" не найден ядром СУБД Microsoft Access. Убедитесь, что объект существует, а его имя и путь к нему указаны правильно." т.д.
Создается впечатление, что если я создал файл подобным кодом с запросом CREATE TABLE, то кроме как с помощью своей программы в этом файле лучше ничего не изменять сторонними программами. И получается, что произвольный файл не получится разобрать таким образом?
  • Вопрос задан
  • 546 просмотров
Решения вопроса 1
@saltydogd
Логичное впечатление, в принципе )
Да, возможность удобная, но для "регулярной" структуры ячеек, писать можно ( давно это было, навскидку) чем-угодно, не меняя формат
Плюс пляски с источником данных (есть ли соответствующий провайдер в системе, настройки)
Если формат плавающий, то логичнее воспользоваться Excel Primary Interop Assembly
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
06 дек. 2021, в 09:20
50000 руб./за проект
06 дек. 2021, в 07:23
1000 руб./за проект
06 дек. 2021, в 07:18
1000 руб./за проект