powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
26 сообщений из 26, показаны все 2 страниц
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38432279
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, прошу помощи в решении вопроса.
Есть таблица в апексе, которая создается из апекс-коллекции, далее из данной таблицы требуется выгрузка в excel, при этом каждая строка таблицы должна записываться на отдельном листе excel.

Принцип работы такой:
1) в верхней строке пользователь вводит число(номер транзакции), жмет Enter
2) после нажатия Enter появляются данные по транзакции, он их проверяет и жмет Добавить
3) далее данная запись добавляется в Apex коллекцию (нижний репорт). и так происходит огромное кол-во раз
4) как только пользователь собрал все транзакции, он жмет "На печать" и тут должно происходит то, что я написал в шапке, то есть каждая строка должна делаться на новом листе (100 строк = 100 страниц)

XML файл создать проблем не будет, мне лишь нужно чтобы вы подсказали синтаксис как зациклить генерирование страниц по количеству строк апекс-коллекции.
Приветствуются другие решения.
Программа на скриншоте.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38432296
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить:
Версия Apex 4.1.0.00.32 , статус VALID
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38433056
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ап теме, очень срочно нужно решение, кто что может надумать пишите пожалуйста.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38433140
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansion,

приходишься по коллекции обычным циклом в теле цикла пишешь свой генератор страниц
Синтаксис http://www.firststeps.ru/sql/oracle/r.php?49
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38433346
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansion,непонятно, как вы вообще собираетесь по кнопке Печать вызывать Excel?
Из постановки вопроса догадаться об этом очень сложно.
Напишите, каким способом планируется запускать Excel - как pl-sql процедуру, Report Printing или как-то еще?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38435106
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,
создал шаблончик в excel в формате xml для plsql'я, туда же сунул запросы, которые тянут информацию. вообщем как обычно делается выгрузка для апекса plsql'я

далее создал в апексе процесс, который выполняется в plsql, назначил на процесс кнопку "На печать".

процесс огромный, 1к+ строк
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38435543
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ответ только сильнее все запутал... :-)
что за шаблончик в Excel, какие запросы, которые тянут информацию, о чем вообще речь?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38435895
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,

ну смотри, чтобы сделать выгрузку из апекса в excel нужно сначала этот подготовить шаблон, на примере которого, будет формироваться отчет в excel. мы создаем excel фаил, который будет шаблоном, сохраняем, меняем формат файла на XML, и открываем его через Notepad. далее копируем весь xml код и пастим его в девелопер. шаблон готов.
далее внутри шаблона уже корректируем, вставляем переменные, запросы и так далее...
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38436147
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansion,

суть понятна.
1. loggin же сказал - нужно открыть цикл по курсору из апекс-коллекции.
внутри цикла формируешь тэг
<Worksheet ss:Name="Лист1">
<Worksheet ss:Name="Лист2">
<Worksheet ss:Name="Лист3"> и т.д.

примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
declare
 my_xml clob;
begin
  my_xml := '<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 ...
...
....
.....
';
  for rec in (select *
from apex_collections ac
where ac.collection_name = 'my_collection'
order by ac.seq_id) loop
my_xml := my_xml || '<Worksheet ss:Name="Лист' || rec.seq_id || '">';
/* здесь содержимое листа */
my_xml := my_xml || ' </Worksheet>';
end loop;
end;



2. Только из процесса апекс это не будет работать, нужно перенести текст в хранимую процедуру
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38436973
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,

спасибо за помощь, разобрался
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38437912
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,

В процессе это будет работать. Нужно добавить несколько строк для формирования заголовка, в котором будет указано что это файл. И выставить у процесса Load before header... что-то такое. не помню уже.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38438609
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возник еще один вопрос.
Я создал цикл для апекс коллекции, строки, как и нужно, выгружаются в excel каждая на отдельной странице, НО если строк больше чем 4, то при выгрузке прявляется ошибка ORA-06502: PL/SQL: numeric or value error.
Это значит что где-то происходит арифметическая ошибка, но где?
Я попробовал несколько раз разные значения выгружать и везде упирался на том что ошибка возникает именно если строк больше чем 4. 4 строки выгружаются на отдельных листах без ошибок, а 5 уже ORA-06502: PL/SQL: numeric or value error.
где косяк? есть ли ограничение на генерирование листов excel?

вот код процедуры выгрузки:
Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
create or replace procedure xx_konverts(gg number) as
peremen clob;  --переменная для записи текста в BLOB переменную
myfile blob;      --BLOB переменная, - собственно это и будет файл
myfile_name VARCHAR2(100);  -- :='АКТ о списании недостачи.xls';

begin

peremen:='
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author>username</Author>
  <LastAuthor>username</LastAuthor>
  <LastPrinted>2013-10-23T11:38:00Z</LastPrinted>
  <Created>2008-05-12T12:21:57Z</Created>
  <LastSaved>2013-10-23T11:31:45Z</LastSaved>
  <Version>14.00</Version>
 </DocumentProperties>
 <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <AllowPNG/>
 </OfficeDocumentSettings>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <SupBook>
   <Path>&#0;</Path>
  </SupBook>
  <WindowHeight>6720</WindowHeight>
  <WindowWidth>13350</WindowWidth>
  <WindowTopX>690</WindowTopX>
  <WindowTopY>-165</WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 <Styles>
  <Style ss:ID="Default" ss:Name="Normal">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204"/>
   <Interior/>
   <NumberFormat/>
   <Protection/>
  </Style>
  <Style ss:ID="s16" ss:Name="Финансовый">
   <NumberFormat
    ss:Format="_-* #,##0.00_р_._-;\-* #,##0.00_р_._-;_-* &quot;-&quot;??_р_._-;_-@_-"/>
  </Style>
  <Style ss:ID="s62">
   <Font ss:FontName="Arial Cyr" x:CharSet="204"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s63">
   <Alignment ss:Vertical="Bottom"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s65">
   <Alignment ss:Vertical="Bottom"/>
  </Style>
  <Style ss:ID="s66">
   <Alignment ss:Vertical="Bottom"/>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s68">
   <Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s70">
   <Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="8"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s71">
   <Alignment ss:Vertical="Center"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="48" ss:Color="#FF8080"
    ss:Bold="1"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s72">
   <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s73">
   <Alignment ss:Vertical="Top"/>
  </Style>
  <Style ss:ID="s75">
   <Alignment ss:Vertical="Top"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s76">
   <Alignment ss:Vertical="Top"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="16"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s77">
   <Alignment ss:Horizontal="Center" ss:Vertical="Top"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="13" ss:Bold="1"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s78">
   <Alignment ss:Vertical="Top"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="1"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s79">
   <Alignment ss:Horizontal="Left" ss:Vertical="Top"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="8"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s81" ss:Parent="s16">
   <Alignment ss:Horizontal="Left" ss:Vertical="Top"/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="8"/>
   <NumberFormat ss:Format="0"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s82" ss:Parent="s16">
   <Alignment ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
   </Borders>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Color="#800080" ss:Bold="1"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s83">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204" ss:Size="8"/>
   <Protection x:HideFormula="1"/>
  </Style>
  <Style ss:ID="s84">
   <Borders/>
  </Style>
  <Style ss:ID="s85">
   <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
  </Style>
 </Styles>
  ';
myfile  := utl_i18n.string_to_raw(peremen, 'AL32UTF8');
peremen:='

';
dbms_lob.append( myfile, utl_i18n.string_to_raw( peremen, 'AL32UTF8') );--дописываем данные в переменную
for rec in (select c001, c002, c003, c004, c005, c006, c007, c008
from apex_collections ac
where ac.collection_name='TOPRINT'
order by c008 desc)
loop
 peremen:= peremen||
 '<Worksheet ss:Name="№ '||rec.c004||'">
  <Names>
   <NamedRange ss:Name="Print_Area" ss:RefersTo="=!R1C1:R11C9"/>
  </Names>
  <Table ss:ExpandedColumnCount="35" ss:ExpandedRowCount="12" x:FullColumns="1"
   x:FullRows="1">
   <Column ss:Index="3" ss:AutoFitWidth="0" ss:Width="90"/>
   <Column ss:AutoFitWidth="0" ss:Width="108"/>
   <Column ss:AutoFitWidth="0" ss:Width="50.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="72"/>
   <Column ss:AutoFitWidth="0" ss:Width="56.25" ss:Span="2"/>
   <Column ss:Index="10" ss:AutoFitWidth="0" ss:Width="90"/>
   <Column ss:AutoFitWidth="0" ss:Width="38.25"/>
   <Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="85.5"/>
   <Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="87"/>
   <Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="72.75"/>
   <Row ss:AutoFitHeight="0" ss:Height="15">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="15">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="15">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="24.75">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s65"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="68.25">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="39">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:MergeAcross="4" ss:MergeDown="1" ss:StyleID="s68"><Data
      ss:Type="String">' || rec.c001 || '</Data></Cell>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="15.75" ss:Hidden="1">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="24.75">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:MergeAcross="4" ss:MergeDown="1" ss:StyleID="s70"><Data
      ss:Type="String">' || rec.c002 || '</Data></Cell>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="16.5">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="29.25">
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s63"/>
    <Cell ss:StyleID="s71"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s72"/>
    <Cell ss:StyleID="s72"/>
    <Cell ss:StyleID="s72"/>
    <Cell ss:StyleID="s72"/>
    <Cell ss:Index="12" ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row ss:AutoFitHeight="0" ss:Height="34.5" ss:StyleID="s73">
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s76"/>
    <Cell ss:StyleID="s77"><Data ss:Type="String">' || rec.c003 || '</Data></Cell>
    <Cell ss:StyleID="s78"/>
    <Cell ss:StyleID="s79"><Data ss:Type="Number">' || rec.c004 || '</Data></Cell>
    <Cell ss:StyleID="s81"><Data ss:Type="Number">' || rec.c005 || '</Data></Cell>
    <Cell ss:StyleID="s81"><Data ss:Type="Number">' || rec.c006 || '</Data></Cell>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
    <Cell ss:StyleID="Default"/>
   </Row>
   <Row>
    <Cell ss:Index="4" ss:StyleID="s82"><Data ss:Type="Number">' || rec.c007 || '</Data></Cell>
    <Cell ss:StyleID="s83"><Data ss:Type="String">Контрольная сумма по документу</Data></Cell>
    <Cell ss:StyleID="s84"/>
    <Cell ss:Index="9" ss:StyleID="s85"/>
   </Row>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <Header x:Margin="0"/>
    <Footer x:Margin="0"/>
    <PageMargins x:Bottom="0" x:Left="0" x:Right="0" x:Top="0"/>
   </PageSetup>
   <FitToPage/>
   <Print>
    <ValidPrinterInfo/>
    <PaperSizeIndex>9</PaperSizeIndex>
    <Scale>92</Scale>
    <HorizontalResolution>600</HorizontalResolution>
    <VerticalResolution>600</VerticalResolution>
   </Print>
   <TabColorIndex>9</TabColorIndex>
   <ShowPageBreakZoom/>
   <PageBreakZoom>100</PageBreakZoom>
   <Selected/>
   <Panes>
    <Pane>
     <Number>3</Number>
     <ActiveCol>6</ActiveCol>
    </Pane>
   </Panes>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
  ';
peremen:=peremen || ' </Worksheet>
';
end loop;
dbms_lob.append( myfile, utl_i18n.string_to_raw( peremen, 'AL32UTF8') );--дописываем данные в переменную
peremen:='
</Workbook>
';
dbms_lob.append( myfile, utl_i18n.string_to_raw( peremen, 'AL32UTF8') );--дописываем данные в переменную
--теперь когда переменная с файлом готова выгрузим её
  myfile_name:='konverts SE-2.xls';
  owa_util.mime_header(wwv_flow_utilities.get_excel_mime_type, false); --обозначим тип файла EXCEL
  htp.p('Content-Length: ' || dbms_lob.getlength(myfile)); --... и размер файла
  htp.p('Content-disposition: attachment; filename="' || myfile_name || '";'); --название файла
  owa_util.http_header_close;
  wpg_docload.download_file(myfile);
end xx_konverts;
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38438837
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansion,
Во-первых, кроме номера ошибки должен быть еще номер строки, на которой возникает ошибка.
Во-вторых, peremen хоть и объявлена как clob, но когда ты делаешь
peremen := peremen || (видимо из моего примера), то используя конкатенацию, фактически clob
превращаешь в varchar2 размером в 32К. Т.е. примерно на 5-ой записи peremen становится более 32К.
Тебе нужно вместо || использовать dbms_lob.append.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439253
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,

снова выручил, спасибо
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439360
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос конечно для извращенцев, но всё-таки... как вставить картинку gif в XML формат? я всё с той же программой вожусь и при выгрузке в excel там должен быть логотип компании. я погуглил, но не понял что за base64 кодирование, кто может более простым и понятным языком объяснить и привести простой пример как вставить gif(можно другую: bmp, jpeg...) картинку в XML формат
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439466
Mit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Я думаю, что можно взять пакет отсюда http://technology.amis.nl/?s=as_xlsx и попробовать доточить его, чтобы была возможность вставлять картинку.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439487
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansionВопрос конечно для извращенцев, но всё-таки... как вставить картинку gif в XML формат? я всё с той же программой вожусь и при выгрузке в excel там должен быть логотип компании. я погуглил, но не понял что за base64 кодирование, кто может более простым и понятным языком объяснить и привести простой пример как вставить gif(можно другую: bmp, jpeg...) картинку в XML формат

Берешь логотип, грузишь его сюда http://netcoding.ru/services/online-generator-base64/
Дальше в нужное место запихиваешь тот код который у тебя получился.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439564
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
loggin,

получился код такого типа:
Код: plsql
1.
 data:image/png;base64,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 


можно синтаксис, как правильно его вставить в какие теги, xml вроде не html, тут <img> не прокатит?
вот у меня есть ячейка, с цифрой "1", нужно чтобы на этом месте был логотип
Код: plsql
1.
 <Cell ss:StyleID="s63"><Data ss:Type="Number">1</Data><NamedCell 


код картинки вообще в скобках cell прописывать или куда?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439648
Mit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где Вы вообще нашли что xml таблица поддерживает картинки?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38439919
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mit,

лазейка с помощью base64 декодера.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38440934
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну что, никто не знает как вставить код картинки в xml код?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38440963
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansionну что, никто не знает как вставить код картинки в xml код?
mansion, что тебе мешает взять свой шаблон в Excel, вставить в него картинку,
сохранить в xml и увидеть в том месте, где должна быть картинка:

<img width=3D36 height=3D64
src=3D"file7317.files/image002.gif" v:shapes=3D"_x0000_s1026">

а ниже еще что-то типа такого:

------=_NextPart_01CE57CB.FA2E77D0
Content-Location: file:///C:/69C8F3E5/file7317.files/image002.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODdhJABAAHcAACH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACwAAAAAJABAAIf///+9
IRDmShDeYxCljJzeCBDWIRCUKRlSKRnvKRnOnFLvnFLvlN4Qa1oQ794Qa94Q71oQKVoQrd4QKd4Q
...
...
...
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38441018
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost,

когда сохраняешь xml с картинкой внутри, возникает предупреждение о удалении всех несопостовимых компонентов с форматом xml
картинка не сохраняется
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38441165
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mansion, да, действительно, у меня не xml, а html.
Т.е. все тоже самое, можно сохранить шаблон Excel
не в xml, а в html, там можно и картинку сохранить, чем не вариант?
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38444680
Mit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mansionMr_Frost,

когда сохраняешь xml с картинкой внутри, возникает предупреждение о удалении всех несопостовимых компонентов с форматом xml
картинка не сохраняется

А я Вам про это говорил выше. Нельзя в xml таблицу вставить картинку.
...
Рейтинг: 0 / 0
Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
    #38446128
mansion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mit,

да модно через замудреную кодировку, я видел пример давно, когда мне это не надо было, а сейчас его хрен найдешь (
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка из Apex в Excel с применением цикла генерирования новых листов Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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