powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / медленно формируется WORD
6 сообщений из 6, страница 1 из 1
медленно формируется WORD
    #38448280
9kol9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фокс 9, dbfка на 2-5 тыш записей, есть шаблон вордовский dot, в шаблоне таблица в которую заносятся данные из dbf, очень медленно формируется документ, занимает минут 10-20 в зависимости от кол-ва записей в таблице. можно ли как то ускорить это или с вордом уже ничего не сделаешь?
...
Рейтинг: 0 / 0
медленно формируется WORD
    #38448453
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где код экпорта?
Кроме того, шаблон - это шаблон, данные вы заносите не в шаблон, а в документ, созданный на основе шаблона.
Кроме того, неплохо бы было на время работы с документом - скрывать его окно или хотя бы отображение обновлений.
Кроме того, можно сделать немного по-другому - например, выгружать данные не прямо в Word, а, например, в Excel (если он есть). А в документ Word добавить только ссылку на Excel-таблицу (ну и настроить её отображение).
...
Рейтинг: 0 / 0
медленно формируется WORD
    #38448501
9kol9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

вот кусок кода который использую, отображение делаю уже после того как все данные занесены в таблицу,
помимо этой таблицы в ворде выводятся другие данные, но именно на таблицу уходит 99% времени.
по 3 пунку где можно подробнее узнать как в ворде сделать ссылку на экселевскую таблицу?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
   
         loWord  = CREATEOBJECT('Word.Application')
	 loDoc = m.loWord.Documents.Add('c:\temp\doc.dot')
	 loTable = m.loDoc.Tables(1)
	 InWordRowNum = 1
 SELECT licenz
DO WHILE !EOF('licenz') 
 		   IF m.loTable.Rows.Count < m.InWordRowNum THEN 
		      m.loTable.Rows.Add()
		   ENDIF 
		   m.loTable.Cell(m.InWordRowNum, 1).Range.Text = STR(RECNO('licenz'))
		   m.loTable.Cell(m.InWordRowNum, 2).Range.Text = licenz.cod
		   m.loTable.Cell(m.InWordRowNum, 3).Range.Text = ALLTRIM(licenz.name)
		   m.loTable.Cell(m.InWordRowNum, 4).Range.Text = DTOC((licenz.dat)
                           и т.д  .....
      		   InWordRowNum = m.InWordRowNum + 1
SELECT licenz
SKIP  
ENDDO 
 	m.loWord.visible = .T.
...
Рейтинг: 0 / 0
медленно формируется WORD
    #38448585
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас в шаблоне исходная таблица изначально пустая? Тогда зачем вы проверяете на каждом шаге её размер - можно просто добавлять строку безусловно.
И что-то мне подсказывает, что есть способ заполнять строку таблицы не по ячейкам, а через массив. Причём это позволит делать копирование не просто построчно, а сразу целиком - сделать COPY TO ARRAY [] FIELDS [], если надо - ещё подогнать данные, и разом скопировать в loTable
...
Рейтинг: 0 / 0
медленно формируется WORD
    #38450604
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9kol9фокс 9, dbfка на 2-5 тыш записей, есть шаблон вордовский dot, в шаблоне таблица в которую заносятся данные из dbf, очень медленно формируется документ, занимает минут 10-20 в зависимости от кол-ва записей в таблице. можно ли как то ускорить это или с вордом уже ничего не сделаешь?
Может попробовать старый испытанный DBRAD32, который формирует нужную выборку и выдаёт её в виде RTF-фвйла. Выборка выполняется внутри средствами SELECT-SQL. Если мне не изменяет склероз, его находил на dbrad.ru или dbrad32.ru.
...
Рейтинг: 0 / 0
медленно формируется WORD
    #38450618
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9kol9,

авторшаблон - это шаблон, данные вы заносите не в шаблон, а в документ, созданный на основе шаблона.
------------
неплохо бы увидеть шаблон

вопросы
--формируется 1 документ на выборку или поштучно
--какая версия ворд
--можно ведь окно ворд скрыть
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / медленно формируется WORD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]