OpenExcelProject
Модераторы: m0p3e, edward_K, Модераторы
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: OpenExcelProject
unit exelexp;
это кто добрый кинул файл для паскаля и компилиться там же, ну в крайнем случае в делфятке. как миниум еще пары файлов не хватает - хотя надо глянуть подробней.
1. - файла с library(который компилить)
2. - описания собственно функций для использования в vip.
типа func(word):boolean;external excel.dll ;
это кто добрый кинул файл для паскаля и компилиться там же, ну в крайнем случае в делфятке. как миниум еще пары файлов не хватает - хотя надо глянуть подробней.
1. - файла с library(который компилить)
2. - описания собственно функций для использования в vip.
типа func(word):boolean;external excel.dll ;
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: OpenExcelProject
если не трудно - скинули бы сюда супер маленький фейс в несколько строк который работает с использованием xl функций.
(типа hello word!)
(типа hello word!)
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Re: OpenExcelProject
Да уж...
описывать структуру документа и стили внутри кода - это в стиле Галактики...
а можно создать шаблон XLT, назначить в нем именнованные диапазоны и уже в эти диапазоны писать нужные циферки и буковки?
приемущества очевидны - меняем только шаблон а поля для вывода обрабатываются и хранятся в .RES
тоже самое и DOC файлами в Галактике их структуру мы прошиваем в код... а как было бы приятно создать DOT шаблон, создать bookmarks и ваще работать с приложениями MSOffice как с COM обектами. Вот примерчик из буржуйской ERP системы:
....
ComWordDocument_RU doc;
;
doc = new ComWordDocument_RU();
doc.newFile(#ReportTemplatePath_RU + "My.dot",true);
doc.InsertValue("ren1","Эта строка передана из ERP системы");
doc.tableAddRow("ren2");
doc.InsertValue("ren2","Эта строка тоже передана из ERP");
doc.tableGoToCell(2,2,"ren2");
doc.selectionInsertValue("еще строка");
doc.tableGoToCell(3,3,"ren2");
doc.selectionInsertValue(123.123);
doc.finalize();
...
мы рисуем любой красоты шаблон и передаем только нужные цифери ;D
описывать структуру документа и стили внутри кода - это в стиле Галактики...
а можно создать шаблон XLT, назначить в нем именнованные диапазоны и уже в эти диапазоны писать нужные циферки и буковки?
приемущества очевидны - меняем только шаблон а поля для вывода обрабатываются и хранятся в .RES
тоже самое и DOC файлами в Галактике их структуру мы прошиваем в код... а как было бы приятно создать DOT шаблон, создать bookmarks и ваще работать с приложениями MSOffice как с COM обектами. Вот примерчик из буржуйской ERP системы:
....
ComWordDocument_RU doc;
;
doc = new ComWordDocument_RU();
doc.newFile(#ReportTemplatePath_RU + "My.dot",true);
doc.InsertValue("ren1","Эта строка передана из ERP системы");
doc.tableAddRow("ren2");
doc.InsertValue("ren2","Эта строка тоже передана из ERP");
doc.tableGoToCell(2,2,"ren2");
doc.selectionInsertValue("еще строка");
doc.tableGoToCell(3,3,"ren2");
doc.selectionInsertValue(123.123);
doc.finalize();
...
мы рисуем любой красоты шаблон и передаем только нужные цифери ;D
НЕТ
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: OpenExcelProject
по сути это тот же форма прототип используемый в галактике. Некий поток данных с которым можно потом сделать все что угодно в присоединеной форме.
Начиная с версии 582(в 573 нужно помучиться) есть зарегестрированные функции для вывода непосредственно в Excel, там в том числе есть функции для работы с макросами: загрузка из файла,запуск - я запускал его из некого шаблона(мне нужно было подукрасить то что сформировал). А потом никто не запрещает создать свою dll и зарегестрировать оттуда функции для использования в vip и frm.
Начиная с версии 582(в 573 нужно помучиться) есть зарегестрированные функции для вывода непосредственно в Excel, там в том числе есть функции для работы с макросами: загрузка из файла,запуск - я запускал его из некого шаблона(мне нужно было подукрасить то что сформировал). А потом никто не запрещает создать свою dll и зарегестрировать оттуда функции для использования в vip и frm.
Re: OpenExcelProject
К стати и на Гал-м Vip е возможно сделать прогу - генератор отчетов подобного типа, были бы спонсоры...
Re: OpenExcelProject
ВСЁ ЭТО основано на достаточно старой идее, которая в новом обличие периодически всплывает и преподносится как нечто совершенно оригинальное.
Например в компонентном программировании (по моему Effel) очень чётко разделяются данные (интересно задаться вопросом КЕМ? и КОМУ?) и их представление (может быть множество представлений одних и тех же данных).Например в качестве данных может быть текущее время, а представлено (отображаться) программой оно может в разной форме : может часиками со стрелками, может в цифровом виде, а может вообще на линейке , также часть данных может скрываться - не выводятся секунды, хотя они от этого не перестают "место быть", а может и добавляться вычесленная - например время в Париже, в Лондоне, в Токио. Чем не форма прототип (которая создаётся прикладным программистов как, впрочем, и тайМеры в Windows) и присоединённая форма, или чем не "любой красоты шаблон и передаем только нужные цифери". А если рассмотреть идею логической таблицы (Viev-а - представления) по отношению к "физическим" таблицам БД. Причём не только и не столько для вывода данных, как для их ввода. А?
И не стоит "копья ломать" - а вот ТАМ - а вот ТУТ. Да как и ВЕЗДЕ. Просто надо уметь или учится немного Обобщать и Различать: ВЕДЬ если будут предложены одинаковые сладости расфасованые в разные обёртки и разной формы я полагаю Вы без особого труда определите что содержимое на вкус одинаково. То же и со всякими "новыми идеями" - их тоже можно пробовать "на зуб", а можно сразу (при достаточном опыте) увидеть суть, под какой бы она обёркой-оболочкой-формой-представлением-описанием-объяснением не скрывалась.
А что касается "идеи" хранения структуры и стилей документа (т.е. его шаблона) "вне кода" (вне .RES), то какая разница где она будет хранится: в MY.DOT или в MY.RES-файле с присоед. формой, причём в один MY.RES можно поместить много шаблонов анологичных MY.DOT, плюс к тому что совсем не обязательно устанавливать ещё какой-то MS Office
Например в компонентном программировании (по моему Effel) очень чётко разделяются данные (интересно задаться вопросом КЕМ? и КОМУ?) и их представление (может быть множество представлений одних и тех же данных).Например в качестве данных может быть текущее время, а представлено (отображаться) программой оно может в разной форме : может часиками со стрелками, может в цифровом виде, а может вообще на линейке , также часть данных может скрываться - не выводятся секунды, хотя они от этого не перестают "место быть", а может и добавляться вычесленная - например время в Париже, в Лондоне, в Токио. Чем не форма прототип (которая создаётся прикладным программистов как, впрочем, и тайМеры в Windows) и присоединённая форма, или чем не "любой красоты шаблон и передаем только нужные цифери". А если рассмотреть идею логической таблицы (Viev-а - представления) по отношению к "физическим" таблицам БД. Причём не только и не столько для вывода данных, как для их ввода. А?
И не стоит "копья ломать" - а вот ТАМ - а вот ТУТ. Да как и ВЕЗДЕ. Просто надо уметь или учится немного Обобщать и Различать: ВЕДЬ если будут предложены одинаковые сладости расфасованые в разные обёртки и разной формы я полагаю Вы без особого труда определите что содержимое на вкус одинаково. То же и со всякими "новыми идеями" - их тоже можно пробовать "на зуб", а можно сразу (при достаточном опыте) увидеть суть, под какой бы она обёркой-оболочкой-формой-представлением-описанием-объяснением не скрывалась.
А что касается "идеи" хранения структуры и стилей документа (т.е. его шаблона) "вне кода" (вне .RES), то какая разница где она будет хранится: в MY.DOT или в MY.RES-файле с присоед. формой, причём в один MY.RES можно поместить много шаблонов анологичных MY.DOT, плюс к тому что совсем не обязательно устанавливать ещё какой-то MS Office
Подход к делу: СДЕЛАЛ и ... ЗАБЫЛ, а ОНО пусть САМО работает (не люблю возвращаться и повторяться).
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: OpenExcelProject
>Kyokushin
кстати на 1С код примерно такой как Вы и привели пример буржуйского
P.S.
я ничего против Галактики не имею
просто сказал
т.е. не надо на меня кидаться и говорить что Г. круче 1С и т.д. - это уже обсуждалось
кстати на 1С код примерно такой как Вы и привели пример буржуйского
P.S.
я ничего против Галактики не имею
просто сказал
т.е. не надо на меня кидаться и говорить что Г. круче 1С и т.д. - это уже обсуждалось
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
Re: OpenExcelProject
Grom: Крутое завершение беседы! Гуд!
Re: OpenExcelProject
Nuts: А то!
Подход к делу: СДЕЛАЛ и ... ЗАБЫЛ, а ОНО пусть САМО работает (не люблю возвращаться и повторяться).
Re: OpenExcelProject
Извиняюсь за то что ворочаю старое... Каким образом использовать эту функцию OpenExcelProject всё таки. Просто хотелось бы выводить отчёт на нескольких листах
Re: OpenExcelProject
xabik
Это имеете в виду? Excel_Lib.pdf лежит на ftp. Или я вопрос не понял?
Это имеете в виду? Excel_Lib.pdf лежит на ftp. Или я вопрос не понял?
Re: OpenExcelProject
Ух какое старье апнули
Делаем xlt-шаблон с постоянными листами. Если их количество неизвестно, но новые создаем через.
Переключаемся между листами для вывода через
Все функции можно подсмотреть в файле Excel.doc
Свежая дока
Делаем xlt-шаблон с постоянными листами. Если их количество неизвестно, но новые создаем через
Код: Выделить всё
Function XLADDSHEET : boolean;
Переключаемся между листами для вывода через
Код: Выделить всё
Function XLSETACTIVESHEET(LongInt) : boolean;
Function XLSETACTIVESHEETBYNAME(string) : boolean;
Свежая дока