Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / выгрузка данных в word из интерактивного отчета / 25 сообщений из 25, страница 1 из 1
11.02.2016, 09:34
    #39168257
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Здравствуйте. Есть необходимость выгружать данные из интерактивного отчета в word. Стандартный функционал делает выгрузку форматов csv, html (APEX 4.2). А как я могу выгрузить данные в word?
...
Рейтинг: 0 / 0
11.02.2016, 10:34
    #39168304
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,
есть обувь из коробки, а есть индивидуальный пошив.
Из коробки - открыть в ворд csv\html\pdf\xls
...
Рейтинг: 0 / 0
11.02.2016, 10:43
    #39168312
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
инд.пошив это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
META_UTF     VARCHAR2(400):= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
STYLE_TAB100 VARCHAR2(400):= 'style="width:100%; border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
                              mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext"';

PROCEDURE ФФФФФФФФФФФФ(ыыыыыыы number)
IS
BEGIN
  htp.htmlopen;
  htp.prn(META_UTF);
  htp.headopen;
  htp.title('Отчёт');
  -- разметка страницы
  htp.style('@page Section1
  {size:595.3pt 841.9pt;
  {size:595.3pt 841.9pt;
  margin:42.55pt 42.55pt 1.0cm 2.0cm;
  mso-header-margin:0cm;
  mso-footer-margin:11.35pt;
  mso-paper-source:0;}
div.Section1
  {page:Section1;}'
  );
  --
  htp.headclose;
  htp.bodyopen;
  -- <div class=Section1>
  htp.div(NULL,'class="Section1"');
  htp.header(3, 'Отчёт об ', calign => 'center');
  ...
...
Рейтинг: 0 / 0
15.02.2016, 14:09
    #39171316
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Petro123, поясните пожалуйста приведенный пример. Что у нас является входным параметром в процедуре?
Допустим есть у меня простейший отчет, например, classic report.
Код: plsql
1.
select id, name from table


Как мне выгрузить такой элементарный отчет в word?
...
Рейтинг: 0 / 0
15.02.2016, 14:47
    #39171361
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,
- вы бы попробовали выполнить код, и вопрос бы отпал.
Danny1111
Код: plsql
1.
select id, name from table


псевдокод (нет под рукой проекта)
Код: sql
1.
2.
3.
4.
5.
htp.header(3, 'Отчёт об ', calign => 'center');
....
for Cursor (select....)
  htp.выплюнуть в выходной поток(2, cursor.id, calign => 'center');
end loop;
...
Рейтинг: 0 / 0
15.02.2016, 15:18
    #39171424
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Petro123, пробовал запустить Ваш код. Ничего не выгружается.
Сделал выгрузку вот так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
OWA_UTIL.MIME_HEADER ( 'application/vnd.ms-word', false);
    htp.print('Content-Disposition:attachment;filename="Имя_файла.doc"');

    OWA_UTIL.HTTP_HEADER_CLOSE;
        for curs in (select id,  name from table)
            loop
                htp.p(curs.id||' '||curs.name);
            end loop;
 htmldb_application.g_unrecoverable_error := true;



Все выгружается. Только данные выгружаются в столбец, а мне необходимо отрисовать таблицу.
Может подскажете как именно прорисовка делается?
...
Рейтинг: 0 / 0
15.02.2016, 15:23
    #39171428
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111Все выгружается.
ну вот видишь.
Danny1111Только данные выгружаются в столбец, а мне необходимо отрисовать таблицу.
нет под рукой проекта) - в отпуске.
Там надо столбцы в цикле так же само.
Точно код для столбцов поспрошай или в инете.
...
Рейтинг: 0 / 0
15.02.2016, 15:26
    #39171434
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Petro123, спасибо.
...
Рейтинг: 0 / 0
15.02.2016, 15:30
    #39171438
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Может кто-нибудь еще подскажет как отрисовать табличку?
И еще такой вопрос. При открытии файла необходимо выбрать кодировку. Могу ли я по умолчанию программно установить UTF-8?
...
Рейтинг: 0 / 0
15.02.2016, 15:30
    #39171441
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111При открытии файла необходимо выбрать кодировку.
у меня нет такого(
...
Рейтинг: 0 / 0
15.02.2016, 15:44
    #39171454
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,

А можно вопрос, почему именно в Ворд, не в эксель? Пользователи ни разу экселя не видели?

Наверное служебные записки у Вас в Экселе делают, а табличке в Ворде :)
...
Рейтинг: 0 / 0
15.02.2016, 15:48
    #39171459
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
blkangel, так поставлена задача. Желание заказчика.
...
Рейтинг: 0 / 0
15.02.2016, 16:05
    #39171482
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111blkangel, так поставлена задача. Желание заказчика.
Заказчику можно предложить, более логичный вариант.
...
Рейтинг: 0 / 0
15.02.2016, 16:06
    #39171486
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
blkangel, полностью согласен. Но в данном случае к сожалению нельзя.
...
Рейтинг: 0 / 0
15.02.2016, 16:28
    #39171518
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Может хоть подскажете что? Неужели никто не реализовывал выгрузку в word
...
Рейтинг: 0 / 0
15.02.2016, 17:05
    #39171572
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,

У меня реализовано, но очень не просто. Выше Вам подсказали еще вариант, чем он плох?
...
Рейтинг: 0 / 0
15.02.2016, 17:16
    #39171588
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
blkangel, возможно он и хорош. Но у меня не работает.
Создал я процесс:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
declare
META_UTF     VARCHAR2(400):= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
STYLE_TAB100 VARCHAR2(400):= 'style="width:100%; border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
                              mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext"';

BEGIN
  htp.htmlopen;
  htp.prn(META_UTF);
  htp.headopen;
  htp.title('Отчёт');
  -- разметка страницы
  htp.style('@page Section1
  {size:595.3pt 841.9pt;
  {size:595.3pt 841.9pt;
  margin:42.55pt 42.55pt 1.0cm 2.0cm;
  mso-header-margin:0cm;
  mso-footer-margin:11.35pt;
  mso-paper-source:0;}
div.Section1
  {page:Section1;}'
  );
  --
  htp.headclose;
  htp.bodyopen;
  -- <div class=Section1>
  htp.div(NULL,'class="Section1"');
  htp.header(3, 'Отчёт об ', calign => 'center');
  for curs in (select id,  name from table)
            loop
                htp.p(curs.id||' '||curs.name);
            end loop;

end;



Данный процесс ничего не выполняет. Что не хватает в данном коде?
...
Рейтинг: 0 / 0
15.02.2016, 17:41
    #39171621
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,

Вам дали направление куда копать, а уж копать или не копать решать и делать Вам. Вы хотите чтобы Вам готовое решение тут выложили?
...
Рейтинг: 0 / 0
15.02.2016, 17:46
    #39171632
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
blkangel, к сожалению тот случай, когда копать некогда. Нужно срочно. Поэтому и хотелось бы маленький рабочий примерчик с выводом 2-х полей. В любом случае благодарен за подсказки.
...
Рейтинг: 0 / 0
15.02.2016, 17:58
    #39171644
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,
Вот Вам еще вариант.

1. Создаете шаблон в ворде с пустой таблицей.
2. Созраняете (XML/RTF)
3. Изучаете структуру файла, (она текстовая, хоть и много всего лишнего)
4. Собираете в PL/SQL блоке файл (XML/RTF) с динамически добавленными строками, точно по такому же запросу что и в ИР, и записываете в CLOB
5. Преобразовывайте CLOB в BLOB, и отдаете на скачивание пользователю.
...
Рейтинг: 0 / 0
15.02.2016, 18:03
    #39171652
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,
- посмотрите в HTML какой на выходе код документа
- добавляйте руками в файле без apex пример с колонками для 2-х колонок
- сюда или на форум JS привести теги HTML которых не хватает.
- совместно решить что надо дописать в LOOP
PS
Если не знаете HTML, то скажите руководству что апекс это не умеет. Точка.
...
Рейтинг: 0 / 0
15.02.2016, 18:08
    #39171665
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Petro123, подскажите пожалуйста имя апексовой процедуры, выгружающей данные в формате html.
...
Рейтинг: 0 / 0
15.02.2016, 18:15
    #39171667
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,

TABLEDATA Procedure
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/w_htp.htm#BABGEDJI
делает на выходе вот это:
Код: sql
1.
<TD ALIGN="calign" DP="cdp" ROWSPAN="crowspan" COLSPAN="ccolspan" NOWRAP cattributes>cvalue</TD>
...
Рейтинг: 0 / 0
15.02.2016, 18:17
    #39171671
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Danny1111,
там нужно делать все HTP.TABLEOPEN ....close и т.д. чтобы закрывались теги.
HTP.TABLEOPEN
....
Т.е. в цикле LOOP тоже нужно открывать колонку...писать...закрывать...
AFAIK
Удачи!
...
Рейтинг: 0 / 0
15.02.2016, 18:27
    #39171682
Danny1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных в word из интерактивного отчета
Огромное спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / выгрузка данных в word из интерактивного отчета / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]