C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Вывод таблицы в Word в табличной форме
laifik
  Отправлено: 15.09.2003, 13:50


Дежурный стрелочник

Группа: Участник
Сообщений: 70



Кто знает, можно ли вывести данные таблицы из формы C++ Builder 6.0 в Word в табличной форме, как, например, в Excel-е, или нужно обязательно рисовать таблицу программно? То есть, как нарисовать таблицу и вставлять в ячейки данные. В примерах такой задачи и на всем форуме я еще не встречала. Кто сталкивался? cool.gif
LeeMouse
Отправлено: 15.09.2003, 14:40


Дежурный стрелочник

Группа: Участник
Сообщений: 79



хех... я видел подобную тему в форуме на bcbdev.ru biggrin.gif И в скольких ещё форумах ты ентот вопрос задала? Мне кажется, стоит подумать над тем, а зачем тебе Word? Может задача решится лучше без него. К примеру, для формирования отчетов лучше воспользоваться FastReport, а из него уже экспортировать куда угодно, хоть в картинку.
Гость_laifik
Отправлено: 15.09.2003, 15:14


Не зарегистрирован







В двух форумах. Поскольку я тоже ищу информацию именно на них.
Дело в том, что подобную задачу я решила на Excel и сделала вывод записей в Word. Все прекрасно получается. Задачу я решила несколько расширить и задумалась, а можно ли это сделать в принципе. Конечно, таблицу я могу нарисовать в программе, но там не будет сплошных линий и не так красиво будет выглядеть отчет. Мне бы уже сейчас не хотелось отклоняться от темы Word-а, поскольку нет времени разбираться в чем-нибудь еще, тем более, я почти у цели. wink.gif
Valdemar
Отправлено: 16.09.2003, 15:09


Мастер участка

Группа: Участник
Сообщений: 433



LeeMouse прав, лучше использовать FastReport или что-то подобное. При использовании Word хоть через OLE, хоть через компоненты с закладки Servers программа будет работать медленно. Конечно, при генерации маленьких документов это не страшно.
Вот пример создания таблицы в Word
WordApp->Visible=true;
WordDoc->ConnectTo(WordApp->Documents->Add());
WideString n;
TablePtr table;
WordDoc->Tables->Add(WordDoc->Range(EmptyParam,EmptyParam),20,6);
//создали таблицу 20 строк на 6 колонок
table=WordDoc->Tables->Item(1);
table->LeftPadding=0;//отступы в ячейках слева
table->RightPadding=0;//и справа
table->Range->ParagraphFormat->Alignment=wdAlignParagraphCenter; //выравнивание
WordDoc->Range(EmptyParam,EmptyParam)->Font->Size=10;//размер шрифта
for (int row=1;row<=table->Rows->Count;row++)
for (int col=1;col<=table->Columns->Count;col++)
{
n="текст";
table->Cell(row,col)->Range->InsertAfter(n);
}
}

Вернуться в Вопросы программирования в C++Builder