Создание отчетов в Excel занимает много времени - PullRequest
0 голосов
/ 01 сентября 2009

Я создаю отчет в листе Excel (который приходит из Microsoft Access).
Для 100 записей он может создать лист Excel за 2–3 секунды. Но для более 2000 записей требуется 10 минут.

Есть ли решение или есть какой-либо другой способ создания отчета в таблице Excel?

Ответы [ 5 ]

9 голосов
/ 01 сентября 2009

Использовать CopyFromRecordset в Excel. Гораздо быстрее, чем клетка за клеткой. Модули: перенос записей в Excel с помощью автоматизации

Также см. Примеры форматирования автоматизации Excel для получения дополнительных советов по работе с Excel.

1 голос
/ 02 ноября 2010

Написать этот запрос в Access.

SELECT * INTO [Excel 8.0;Database=FilePath\123.xls].[Sheet1] FROM TABLE_NAME
1 голос
/ 01 сентября 2009

Если я понимаю вашу проблему, это очень простое решение, которое не требует кодирования.

  1. Откройте Excel
  2. Перейти к данным -> «Импорт внешних данных» -> «Импорт данных»
  3. Выберите файл доступа и таблицу / запрос по выбору.
  4. Всякий раз, когда вы хотите обновить данные, просто щелкните правой кнопкой мыши в области импорта и нажмите Обновить.

Позже вы можете написать код VBA для автоматического обновления и сохранить XL для вас.

0 голосов
/ 01 сентября 2009

SpreadsheetGear for .NET намного быстрее, чем использование Excel из VB.NET, что продемонстрировали комментарии клиентов на этой странице .

Вы можете посмотреть живые образцы здесь и загрузить бесплатную пробную версию здесь .

Отказ от ответственности: я владею SpreadsheetGear LLC

0 голосов
/ 01 сентября 2009

Если ответ Тони не сработает, возможно, вам придется «профилировать» ваше приложение. Я не знаю ни одного инструмента, который сделает это за вас (например, у вас в .net), но вы всегда можете посыпать свой выходной код с помощью "debug.print now () &", чтобы увидеть, где находится ваше узкое место.

Сет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...