Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 10
1

Как ускорить формирование документов (Excel) в Delphi

16.11.2014, 19:01. Показов 1689. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется программа (САПРТ ТП), написанная на Delphi 7. В программе имеется возможно генерировать сопровождающие документы на Тех. Процессы. Генерируются они в Excel. Но, на генерацию одного документа уходит много времени(рабочие компьютеры старые 1,7ггц 512мб ОЗУ). Скажите, есть ли какой нибудь модуль или еще чего, который ускорил бы генерацию документа? Возможно есть модели или программа написанные на ActiveX и COM элементах ??
Или любой другой вариант.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2014, 19:01
Ответы с готовыми решениями:

Формирование отчета из Delphi в Excel
Здравствуйте. Нужна помощь. Необходимо при нажатии BitBtn (сформировать), из компонентов Edit1,...

Как ускорить 2D графику в Delphi
У меня есть большая картинка, допустим карта и я ее прокручиваю в окне. Картинка рисуется...

Как ускорить код (VBA Excel)?
Привет. Я тут написал код к простой програмке. Суть такая: выскакивает форма 4 опшен-кнопок (верх,...

Как ускорить сохранение книги Excel 2003
Всем доброе время суток ! Перед переходом из одной книги Excel (Книга1) в другую (Книга2)...

8
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
16.11.2014, 21:18 2
Если исходников нет, то ускориться можно только обновив рабочие компьютеры.
0
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 10
16.11.2014, 23:24  [ТС] 3
А помимо Excel/Word возможно где нибудь генерировать документы?
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
16.11.2014, 23:45 4
Что ты подразумеваешь под генерацией документов в Excel/Word?
Я так понял, что их программа создает?
0
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 10
17.11.2014, 07:48  [ТС] 5
Да, в программе есть .длл модуль. В программе есть поля для ввода данных, подставления из БД и имеются уже заготовленные шаблоны в Excel ГОСТовских документов, модуль получает данные из формы (может из файла, алгоритм мне не сказали) и подставляет под нужный шаблон. Проблема в том, что генерация (подставление) документов происходит долго (1,5 - 2 минуты на документ). Мне надо узнать, есть ли альтернатива для генерации документов в Excel, может есть модуль использующий AciveX или что нибудь другое, который мог генерировать документы.
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
17.11.2014, 09:27 6
Для того, чтобы обсуждать какие-то альтернативы, надо понимать как и что делается сейчас, что вызывает тормоза (может Ворд долго запускается, вычисления какие-то сложные делаются или просто сама программа криво написана).
Да и что ты будешь делать с альтернативными способами? К нынешней программе их все равно не прикрутишь.
0
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 10
17.11.2014, 19:13  [ТС] 7
Исходники программы есть, прикрутить новый модуль можно, но мне поставили задачу найти этот новый модуль. Вполне вероятно, что его нет, но может хоть кто нибудь сталкивался с подобным. Возможно ускорить работу программы можно, но доступа к исходникам у меня нет.
0
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 6
20.11.2014, 11:46 8
auqarius,

Да, в программе есть .длл модуль
Это библиотека и скорее исходников её у тебя нет или есть?
Если есть , посмотри в исходниках , каким способом выгружаются данные в Excel?
0
132 / 129 / 31
Регистрация: 12.12.2011
Сообщений: 462
20.11.2014, 15:03 9
Вообще, в шаблоны должно быстро подставляться. Но если документ большой, а запись организована по ячейкам, то будет ооочень долго. Поэтому большой объем данных лучше писать в диапазон ячеек через вариантный массив:
Delphi
1
2
3
4
5
6
7
8
var A:Variant;
   RNG:ExcelRange;
begin
   A:=VarArrayCreate([1,n,1,m],VarVariant);
   //заполняем массив
   Rng.Value:=A;
   A:=Unassigned;
end;
0
20.11.2014, 15:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2014, 15:03
Помогаю со студенческими работами здесь

Delphi и DirectX или как ускорить работу с изображениями
Написал программу для штампования кадров - штампует 0,5 кадра в секунду размерами 3840х2160. А...

Как ускорить экспорт таблиц вместе с данными из Access в Excel?
Как ускорить экспорт таблиц вместе с данными из Access в Excel? Замерял время выполнение...

Формирование документов
Задание в том, чтобы БД Access формировала 3 документа. Структура документа создается в отчете....

Формирование документов
Здравствуйте! Такой вопрос. Имеется шаблон, представляющий html код. В тексте html я придумал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru