|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
Всем день добрый! Перебрал кучу способов формировать EXCEL (и XSLT и формирование HTML но все они мне показались немного не подходящими для формирования сложных отчетов (ИМХО) хотя конечно XSLT самый шустрый способ... большие выгрузки стоит делать только на нем..). Возможно то что я сегодня все таки довел до ума поможет тем кто работает со сложными отчетами в EXCEL. Приведенный во вложении пример исключительно черновой. Его ещё надо доводить до ума. Но рабочий. Предлагаю способ (Возможно кто-то скажет что велосипед, но я примеров не нашел подобных): 1) Процедура PL\SQL которая формирует XML на сервере и кладет в каталог например /i/XML привязана к какой-нибудь кнопке на странице. 2) Шаблон EXCEL (точнее не шаблон а просто XLS с незаполненными данными) который лежит в /i/templates 3) JS в форме с которой мы хотим получить отчет. в результате получаем возможность формировать отчеты в екселе ЛЮБОЙ сложности. и довольно наглядно. Какие минусы: Работа с ActiveX со всеми вытекающими "+" и "-". IE (а я тестировал на нем) постоянно ругается на ActiveX и юзверу надо будет постоянно жмякать ДА на сообщении безопасности (если кто знает как обойти , то буду благодарен за совет). Ну и загрузка клиента (кому-то это нравится, кому-то нет). В случае ошибки процесс EXCEL будет висеть пока его не прибьют насильно. Во вложении вырезка процедуры которая создает хмл и тестовый JS. Гуру по APEX прошу меня не пинать злобно. Уж как умею.. с APEX и JS всего неделю знаком :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2009, 13:22 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
Извеняюсь.. во вложении ерундовый файл HTML выкладываю правильный. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2009, 13:29 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
grigo, Ну и вопрос.. как сделать что бы все это работало на других браузерах?? У меня работает только на IE остальные все Opera,Chome,FF не реагируют на var MSExcel = new ActiveXObject("Excel.Application"); ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2009, 14:19 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
про ActiveX в не IE вопрос снят.. рамки задачи под которую разрабатывался механизм отчета позволяют юзать только IE... Ну вот ещё один "-" - однобраузерность... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2009, 14:52 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
А почему не хотите использовать функцию от Дениса Кубечика на последней вкладке ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2009, 09:58 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
А почему не хотите использовать функцию от Дениса Кубечика на последней вкладке ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2009, 10:05 |
|
APEX+XML+JS=EXCEL
|
|||
---|---|---|---|
#18+
kasik, Я так понял она выгружает содержание репорта сформированного в апексе. В довольно упрощенной форме...если не так, поправьте конечно.. А например сложный отчет (типа счета-фактуры) вы бы как формировали в ексель ? При этом вохможно, что часть данных не располагалась бы на текущей странице APEXа. И ещё хотелось бы в случае изменения шаблона формы отчета минимально менять код страницы и процедуры на сервере.. Например в моем случае надо просто поправить шаблон в екселе и скрипт.. что тоже не мало но все-же проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2009, 14:13 |
|
|
start [/forum/topic.php?fid=50&fpage=90&tid=1877327]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 143ms |
0 / 0 |