Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c