Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

Microsoft excel   Найти похожие ветки 

 
_sulent ©   (2003-11-12 08:08) [0]

Здравствуйте, я только начинающий писака, мне нужно сделать отчет в microsoft Excel, причем чтобы он был на основе шаблонов. Т.е. у меня есть какой-то файл шаблона, в нем забита какая-то шапка, и эту шапку нужно как-бы клонировать и записывать в нее данные.
Как это можно сделать, напишите пожалуйста пример, ведь я еще только начинаю в этом всем разбираться


 
Романов Р.В. ©   (2003-11-12 08:23) [1]

Примеров в сети уйма. Yandex - Найдется все.


 
Кулюкин Олег ©   (2003-11-12 08:45) [2]

http://www.delphikingdom.ru/helloworld/excelsm.htm
привет тут


 
AbrosimovA   (2003-11-12 11:13) [3]

К примеру использовать набор компонент FlexCel. Там как раз используется идея экселевских шаблонов. Единственное, я так и не смог получить из базы данных более пяти столбцов в эксель по шаблону.


 
_sulent ©   (2003-11-13 10:26) [4]

уйма, но только вот прикол, как я могу, например, сделать чтобы бы создан файл шаблона, и допустим там две строки были в кчестве шаблона, чтобы на основе этих строк был экспорт в таблицу экселя данных. Например используется БД, нужно пробежать по записям, и из них выдрать то, что нужно, и всунуть в в excel. Причем там могут быть рамки, объединения ячеек.
Я так подозреваю что это можно сделать копированием из шаблона и вставкой в основную excel"евскую книгу.
как это можно будет реализовать, тольк не использую DDE, потому как может он и не быть установленный на рабочем комьюетере.


 
Ломброзо ©   (2003-11-13 10:31) [5]

Лично я для отчетов исп-ю XML + XSL + HTML + CSS + Excel не ниже 2000-го.


 
_sulent ©   (2003-11-13 11:10) [6]

этот вариант будет, но только мне еще нужено организовать работу с excel"ем


 
bSava ©   (2003-11-13 11:32) [7]

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


 
_sulent ©   (2003-11-13 11:34) [8]

гм... был бы бесплатный... платный - делу это не очень поможет


 
alex_***   (2003-11-13 11:39) [9]

зачем тебе DDE? Excel СОМ-сервер всегда будет вместе с Excel.
А XLReport можно хакнутый надыбать в инете.


 
_sulent ©   (2003-11-13 11:42) [10]

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


 
alex_***   (2003-11-13 11:44) [11]

Чей-то DDE будет быстрее работать?


 
dimm   (2003-11-13 11:45) [12]

http://www.afalinasoft.com/rus/tips/index.html


 
AbrosimovA   (2003-11-13 16:14) [13]

FlexCel бесплатен. Всё что ты хочешь, там реализовано.
Отчет формируется из данных базы Paradox, DBase и др.
Кроме компонентов, работающих с базой данных(TTable, TDataSource и
т.д), я дополнительно использую ещё два(TXLSAdapter,TFlexCelReport)
из Библиотеки невизуальных компонентов Flexcel, которые необходимы
для создания отчета. Настройка этих компонентов очень проста,
достаточно для TFlexcelReport(назовем RepStart) в дизайнере указать
следующие св-ва:

Adapter=XLSAdapter;
DataModule=DataModule1;//Так как в этом модуле находятся
TTable,TDataSource,TSession и
вышеуказанные новые компоненты
Template=C:\Data\Template.xls;//Используемый для отчета
шаблонный файл

Примечание:Св-во Template можно формировать динамически,
в теле программы, например так:

DataModule1.RepStart.Template:=ExtractFilePath(Application.ExeName)+"Template.xls";

Для TXLSAdapter(назовём XLSAdapter) св-ва:

SaveFormat=[snXLS]

На этом первая подготовительная часть закончена.

Вторая часть заключается в создании шаблона будущего отчёта -
- это делается в самом Excel"е.
Создаёшь новый документ и называешь, например, его Template.xls
(название можно выбирать любое, допустимое в Windows).

Для вывода данных в документ Excel из базы используются
подменяемые ссылки вида ##Cust##FIO, где Cust - имя TTable,
а FIO - имя поля таблицы. При сохранении данных в отчет, эти
ссылки подменяются реальными данными из таблицы.

Третий этап - создание кода для реализации сохранения данных
в отчет.

Создаешь на форме для этого кнопку и пишешь следующий код:

procedure TMainForm.Button1Click(Sender: TObject);
var PathEx: string;
begin
if SaveDialog1.Execute then PathEx:=SaveDialog1.FileName;
if FileExists(PathEx) then DeleteFile(PathEx);
if PathEx<>"" then
begin
DataModule1.RepStart.FileName:=PathEx;
DataModule1.RepStart.Run;
end;
end;

И всё.

Примечание: В файл сохраняются только те данные, которые
в данный момент отображены в ячейках DBGrid. Иногда это
полезно. Например, если захочешь вывести в отчет данные
о людях, фамилии которых начинаются с буквы "А" - но это
зависит от фильтра, который ты захочешь использовать.


 
Jul   (2003-11-13 18:20) [14]

Vse ochenj krasivo, a esli ispoljzovatj
http://www.delphikingdom.ru/helloworld/excelsm.htm,
to kakim obrazom menjatj format Cella, mozet podskazet kto?
tipa nuzjen "General"


 
Algol   (2003-11-13 19:05) [15]

Полностью согласен с тем, что XML + XSL + CSS + Excel - оптимальный вариант.
Кроме того что без проблем форматирование, оформление, создание объединенных ячеек и т.п., так еще и дает возможность обновлять даные прямо из эксела (!) с локального файла, или с сервера.
Правда работает без глюков тока начиная с OfficeXP.



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.062 c
6-79089
explorer
2003-09-18 06:36
2003.11.24
Удаленный запуск программ


3-78755
trcv
2003-11-03 16:11
2003.11.24
trigger


14-79187
Delirium
2003-10-30 11:07
2003.11.24
Интересно работает оптимизатор...


7-79211
Armageddon
2003-09-15 17:08
2003.11.24
автоматическое изменение прав доступа


1-78913
Sergey G
2003-11-12 11:22
2003.11.24
помогите, плиз, NetScheduleJobAdd