Как хранить данные в Excel из DataSet, не переходя по ячейкам? - PullRequest
0 голосов
/ 28 мая 2009

Дубликат : Какой самый простой способ импорта System.Data.DataSet в Excel?

Используя c # в VS2008, мы можем создать приложение Excel, рабочую книгу и затем рабочий лист, выполнив следующие действия:

Application excelApp = new Application();
Workbook excelWb = excelApp.Workbooks.Add(template);
Worksheet excelWs = (Worksheet)this.Application.ActiveSheet;

Затем мы можем получить доступ к каждой ячейке с помощью «excelWs.Cells [i, j]» и без проблем писать / сохранять. Однако при большом количестве строк / столбцов мы ожидаем снижения эффективности.

Есть ли способ «привязки данных» из объекта DataSet к рабочему листу без использования подхода «ячейка за ячейкой»? Большинство методов, которые мы видели в какой-то момент, возвращаются к клеточному подходу. Спасибо за любые предложения.

Ответы [ 4 ]

0 голосов
/ 28 мая 2009

Вы также можете визуализировать GridView в строку и сохранить результаты на клиенте в формате HTML или XLS. Если вы используете расширение файла XLS, чтобы связать данные с Excel, вы увидите ошибку при открытии файла в Excel. Это ничего не помешает, и ваши данные HTML откроются и будут отлично выглядеть в Excel ...

0 голосов
/ 28 мая 2009

Это дублирующий вопрос.

См .: Какой самый простой способ импортировать набор данных в Excel

(Ответ: используйте OleDbConnection и прочитайте набор данных из Excel).

0 голосов
/ 28 мая 2009

Вместо того, чтобы переходить от ячейки к ячейке, быстрее установить двумерный массив объектов в диапазон Excel.

object[][] values = ...
ws.Range("A1:F2000").Value = values;

Однако способ OleDb все еще намного быстрее, чем выше.

0 голосов
/ 28 мая 2009

Почему бы не использовать ADO.NET с помощью поставщика OLEDB?

См .: Советы по чтению электронных таблиц Excel с использованием ADO.NET

...