Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.011 c
1-78992
Алина
2003-11-14 12:51
2003.11.24
Настоящие профи, скажите почему при печати формы с ChartFx


3-78836
andrey__
2003-11-04 10:55
2003.11.24
компонент TClientDataSet


6-79078
dez
2003-09-26 12:26
2003.11.24
TNMHTTP + Proxy + Авторизация


3-78800
MegaSharp
2003-11-05 13:07
2003.11.24
ADO + Delphi 5


1-79053
Jul
2003-11-13 13:24
2003.11.24
Office_TLB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский