Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отчет в MS Word [D7, 2003]


ixen ©   (2011-05-23 12:26:00) 

Здравствуйте! Столкнулся с такой проблемой при формировании отчета в MS Word. Сделал шаблон, на основе которого строится отчет. В нем имеется таблица с метками, в место которых вставляются данные. Таблица имеет свою структуру и форматирование. Проблема в том, что эту таблицу нужно заполнять на каждой странице документа. Я пока придумал следующий алгоритм действий:
1) Открыть шаблон.
2) Скопировать таблицу с метками в какую нибудь промежуточную переменную (тут у меня проблема с этим)
3) Заполнить таблицу
4) создать новую страницу
5) Вставить таблицу со всеми метками сохраненную во втором шаге.
6) заполнить таблицу данными
и т.д. по всем записям датасета.
Подскажите как это можно реализовать?

Можно конечно скопировать в начале таблицу в буфер обмена и потом вставлять ее из буфера в новую страницу, но при заполнении таблицы данными я вставляю в нее изображения хранящиеся в BLOB через буфер обмена, т.е. скопированная таблица в буфер, перед заполнением данными, стирается изображением... Если кто знает как вставить в Word изображение из Blob поля не используя буфер обмена буду намного признателен...


oldman   (2011-05-24 14:08:00) [1]


> фото из блоб поля приходится сначала выгружать в файл а
> потом  грузить в Word


эта... удалять не забывай...


Dennis I. Komarov   (2011-05-24 11:12:00) [2]

И вообще, что-то мне подсказывает, что будет достаточно Word, Excel и "слияние"...


ixen   (2011-05-24 11:06:00) [3]


> А открыть dot еще раз и копировать из него?

хм... а это мысль... но я уже сделал следующим образом: Таблицу копирую посредством буфера обмена, а фото из блоб поля приходится сначала выгружать в файл а потом  грузить в Word.


Dennis I. Komarov   (2011-05-24 09:10:00) [4]

А открыть dot еще раз и копировать из него?


ixen   (2011-05-23 16:07:00) [5]


> Буфер не трогай, используй COM/OLE и Дельфи

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


Anatoly Podgoretsky   (2011-05-23 16:02:00) [6]

> ixen  (23.05.2011 15:32:06)  [6]

Буфер не трогай, используй COM/OLE и Дельфи


ixen   (2011-05-23 15:59:00) [7]

придется выгружать картинку из Blob сначала в файл, а затем вставлять в Word.. пока другого решения не вижу..


ixen   (2011-05-23 15:44:00) [8]

а если попробовать вставить картинку используя TFileStream ... воспримет ли word его как файл?


ixen   (2011-05-23 15:32:00) [9]


> Для этого мелкомягкие придумали шаблоны, это которые *.dot(x)

дык я и использую шаблоны *.dot, но в шаблоне только одна страница с таблицей с метками... после заполнения первой таблицы мне нужно таблицу с метками скопировать на новый лист и заново заполнить уже другими данными... но тут дилемма... чтобы скопировать таблицу использую буфер обмена и для вставки картинок использую буфер... вобщем вопрос сводится к следующему
1) как можно сохранить таблицу MS WORD с форматированием и текстом не используя буфер?
2)как вставить картинку в WORD из BLOB поля не используя буфер?


Dennis I. Komarov   (2011-05-23 15:18:00) [10]

Для этого мелкомягкие придумали шаблоны, это которые *.dot(x)


ixen   (2011-05-23 15:16:00) [11]


> данными ты заполняешь после вставки таблицы
> наверное, в памяти она больше не нужна
> используй буфер обмена и не парься

вы немного не поняли.... в шаблоне уже есть таблица со структурой и метками... ее нужно где то сохранить перед вставкой данных, чтобы эту структуру вставить на новую страницу и снова заполнить данными... а так как во время вставки я использую буфер обмена для вставки картинки из базы то если использовать буфер для хранения структуры то она затерётся... ну дык вот проблема в том.. как мне эту структуру таблицы с метками сохранить чтобы после заполнения ее вставить на в новый лист


oldman   (2011-05-23 14:18:00) [12]


> 4) создать новую страницу
> 5) Вставить таблицу со всеми метками сохраненную во втором
> шаге.
> 6) заполнить таблицу данными


данными ты заполняешь после вставки таблицы
наверное, в памяти она больше не нужна
используй буфер обмена и не парься


Andy BitOff   (2011-05-23 14:13:00) [13]

>ixen   (23.05.11 13:00) [1]

кандидат на растрел?


ixen   (2011-05-23 13:00:00) [14]

хотя можно картинку из blob сохранять в файл и затем этот файл уже вставлять в Word...


Наверх

Титульная страница Поиск, карта сайта Написать письмо