2016-08-26 6 views
0

У меня есть таблица с около 2500 строк и 70 столбцов простых данных (да/нет). Я хотел бы экспортировать эти данные в файл Excel.Быстрый экспорт в Excel

Ячейки 175000 не выглядят действительно очень много, поэтому я ожидал бы, что он будет экспортировать данные в течение 10 секунд.

Каков способ его реализации?

P.S. Я пробовал EPPlus, но, похоже, он замедлялся (я обращался к ячейкам один за другим).

P. P. S. Я, вероятно, также хотел бы использовать некоторый стиль (например, для выделения жирного текста и т. Д.). Но, похоже, на самом деле это замедляет экспорт EPPlus.

+0

'CopyFromRecordset' должно быть достаточно хорошим. – cyboashu

+0

Сколько времени прошло, когда вы это пробовали? –

+0

Таблица, где (MS SQL, Oracle, MySQL, Access, Столовая)? Как выглядит запрос на получение данных из таблицы? Можете ли вы показать код, который вы пробовали, который был слишком медленным? Как медленно это было? – astidham2003

ответ

0

Путь к работе - библиотека OpenXML. Это супер быстро и может делать 175K ячеек за 10 секунд. Вы также можете сделать это с помощью специального форматирования. Он не требует установки excel.

  • Установить Open XML SDK
  • Вы можете установить открытый инструмент производительности XML и открыть существующий Excel, это будет генерировать C# код для экспорта такой первенствовать. Это полезно для понимания того, как работает библиотека.

Look here for examples при использовании этой библиотеки с открытым исходным кодом Microsoft.

Я предлагаю вам использовать SAX-подход для максимальной производительности.