powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / выгрузка данных в word из интерактивного отчета
25 сообщений из 25, страница 1 из 1
выгрузка данных в word из интерактивного отчета
    #39168257
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть необходимость выгружать данные из интерактивного отчета в word. Стандартный функционал делает выгрузку форматов csv, html (APEX 4.2). А как я могу выгрузить данные в word?
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39168304
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111,
есть обувь из коробки, а есть индивидуальный пошив.
Из коробки - открыть в ворд csv\html\pdf\xls
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39168312
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
инд.пошив это:
Код: 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
выгрузка данных в word из интерактивного отчета
    #39171316
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, поясните пожалуйста приведенный пример. Что у нас является входным параметром в процедуре?
Допустим есть у меня простейший отчет, например, classic report.
Код: plsql
1.
select id, name from table


Как мне выгрузить такой элементарный отчет в word?
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171361
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
выгрузка данных в word из интерактивного отчета
    #39171424
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
выгрузка данных в word из интерактивного отчета
    #39171428
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111Все выгружается.
ну вот видишь.
Danny1111Только данные выгружаются в столбец, а мне необходимо отрисовать таблицу.
нет под рукой проекта) - в отпуске.
Там надо столбцы в цикле так же само.
Точно код для столбцов поспрошай или в инете.
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171434
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, спасибо.
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171438
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто-нибудь еще подскажет как отрисовать табличку?
И еще такой вопрос. При открытии файла необходимо выбрать кодировку. Могу ли я по умолчанию программно установить UTF-8?
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171441
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111При открытии файла необходимо выбрать кодировку.
у меня нет такого(
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171454
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Danny1111,

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

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

У меня реализовано, но очень не просто. Выше Вам подсказали еще вариант, чем он плох?
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171588
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
выгрузка данных в word из интерактивного отчета
    #39171621
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Danny1111,

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

1. Создаете шаблон в ворде с пустой таблицей.
2. Созраняете (XML/RTF)
3. Изучаете структуру файла, (она текстовая, хоть и много всего лишнего)
4. Собираете в PL/SQL блоке файл (XML/RTF) с динамически добавленными строками, точно по такому же запросу что и в ИР, и записываете в CLOB
5. Преобразовывайте CLOB в BLOB, и отдаете на скачивание пользователю.
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171652
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111,
- посмотрите в HTML какой на выходе код документа
- добавляйте руками в файле без apex пример с колонками для 2-х колонок
- сюда или на форум JS привести теги HTML которых не хватает.
- совместно решить что надо дописать в LOOP
PS
Если не знаете HTML, то скажите руководству что апекс это не умеет. Точка.
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171665
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, подскажите пожалуйста имя апексовой процедуры, выгружающей данные в формате html.
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
выгрузка данных в word из интерактивного отчета
    #39171671
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111,
там нужно делать все HTP.TABLEOPEN ....close и т.д. чтобы закрывались теги.
HTP.TABLEOPEN
....
Т.е. в цикле LOOP тоже нужно открывать колонку...писать...закрывать...
AFAIK
Удачи!
...
Рейтинг: 0 / 0
выгрузка данных в word из интерактивного отчета
    #39171682
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо за помощь.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / выгрузка данных в word из интерактивного отчета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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