C # OLEDBC подключение к Excel - PullRequest
0 голосов
/ 13 апреля 2011

Я копирую лист Excel в Datatable следующим образом:

OleDbCommand command = new OleDbCommand();

            command = new OleDbCommand("Select * from [working sheet$]", oleDBConnection);
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = command;

            dataAdapter.Fill(dt);

Есть ли подобный метод, где я могу просто скопировать данные обратно на лист Excel? Примеры, которые я продолжаю находить, копируют ячейку за ячейкой, но это может быть заметно медленным с большими наборами данных.

Спасибо

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Вы ищете DataAdapter.Update метод , который применяет любые изменения, сделанные в DataTable, к базе данных (или к электронной таблице, в данном случае)

0 голосов
/ 13 апреля 2011

Не очень много знаю об OleDB с Excel, но так как вы упомянули базу данных, я предполагаю, что она работает на сервере?Microsoft фактически не рекомендует запускать Excel на сервере.

Я бы использовал OpenXML для подобных задач.Это немного сложнее, но это сохранить и стабильно.

...