powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Натолкните на мысль.
7 сообщений из 7, страница 1 из 1
Натолкните на мысль.
    #39425583
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется процедура.

Код: 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.
PROCEDURE qwerty IS

AppId OLE2.Obj_Type;
    q      INTEGER := 0;
    f_name VARCHAR2(200);
    
    TYPE col_2 IS TABLE OF sreda_pivot%ROWTYPE;
    v_th col_2 := col_2();
		e integer := 1;
		r integer := 1;
		v_t varchar2(100);
BEGIN
	
FOR cur_for_col_2 IN (select * from sreda_pivot order by cnter asc)
 LOOP
 		v_th.EXTEND;
 		v_th (v_th.LAST) := cur_for_col_2;
 		END LOOP;
	
	
	loop
	q := q + 1;
   f_name := ('C:\Users\operator\Desktop\itask\' || '00'|| q ||  '.xlsx'); 
    SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');   
		Создать_Сеанс_Excel(null, false, AppId); 
		Создать_лист(AppId, 'Лист 1'); 
    Установить_ширину_столбца(AppId,   1, 71);
 
    					
   		FOR w IN v_th.first..v_th.last
 			LOOP
 			e := e + 1;  
			Записать_В_Ячейку_Текст(AppId, e,  1, v_th(w).names, 1,2);
			Записать_В_Ячейку_Текст(AppId, e,  2, v_th(w).val1, 1,2);
 			END LOOP;
    			e := 1;
    
    
   Показать_Сеанс_Excel(AppId, true);  
   SAVE (AppId, f_name);
	 Завершить_Сеанс_Excel(AppId);  
	 SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');   
    exit when q >= 3;
	end loop;
		
END;



Необходимо
Код: plsql
1.
v_th(w).val1 

- увеличивать в каждом новом файле. Т.е.
Код: plsql
1.
v_th(w).val2, v_th(w).val3

...
Т.е. при создании каждый раз нового файла 001 -- v_th(w).val1, 002 -- v_th(w).val2 и т.д.
просьба натолкнуть на мысль(кому не лень), как реализовать? RTFM - очень даже приветствуется.
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39425640
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock
Код: plsql
1.
OLE2.Obj_Type

Неподдерживаемая хрень.
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39425672
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Да оно понятно, но к сожалению в том месте где это нужно, только так.
Хотя самому больше нравиться пилить через XML.
Ну а по теме есть, что сказать?
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39425734
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockНу а по теме есть, что сказать?Хернёй маешься. Архитектурные просчёты бьют на каждом шагу и всё не архитектора.
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39425775
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicХернёй маешься.
Есть такое.

Понятно, что переделывать надо.
Но с чего-то тоже нужно начинать.
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39428419
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicХернёй маешься.

Перестал мается, задачу переосмыслил.


Код: 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.
create or replace procedure costyl_po_razbivke_faila is

TYPE costyl_variable  IS   TABLE OF costyl_po_raxbivke_faila%rowtype;
  v_costyl costyl_variable := costyl_variable();

 v_file  UTL_FILE.FILE_TYPE;
 
 q integer := 0;
begin 
dbms_output.enable;

 FOR cur_for_costyl IN (SELECT * FROM costyl_po_raxbivke_faila)
 LOOP
 v_costyl.EXTEND;
 v_costyl (v_costyl.LAST) := cur_for_costyl;
 END LOOP;

for i in v_costyl.first..v_costyl.last
loop
q := q + 1;
v_file := UTL_FILE.FOPEN( location     => 'v_DIR', filename     =>  q || 'costyl.xml', open_mode    => 'w');

/*пилим башку хмэля*/
UTL_FILE.PUT_LINE(v_file, '<?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>operator</Author>
  <LastAuthor>operator</LastAuthor>
  <Created>2017-03-06T08:27:43Z</Created>
  <LastSaved>2017-03-06T08:28:41Z</LastSaved>
  <Version>14.00</Version>
 </DocumentProperties>
 <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <AllowPNG/>
 </OfficeDocumentSettings>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight>15390</WindowHeight>
  <WindowWidth>27795</WindowWidth>
  <WindowTopX>0</WindowTopX>
  <WindowTopY>45</WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 .........

');
   
/*пилим тело хмэля*/   
  UTL_FILE.PUT_LINE(v_file, '<Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s62"><Data ss:Type="String">VERSION</Data></Cell>
    <Cell ss:StyleID="s62"><Data ss:Type="String">' || v_costyl(i).VERSION|| '</Data></Cell>
   </Row>');

UTL_FILE.PUT_LINE(v_file, '<Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s62"><Data ss:Type="String">ACTION</Data></Cell>
    <Cell ss:StyleID="s62"><Data ss:Type="String">' || v_costyl(i).ACTION|| '</Data></Cell>
   </Row>');

.....
/*полей овер 243*/
....

/*пилим жопу хмэля*/
UTL_FILE.PUT_LINE(v_file, ' </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
   </PageSetup>
   <Unsynced/>
   <Selected/>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
</Workbook>');
 
UTL_FILE.FCLOSE(v_file);
end loop;

Dbms_Output.Put_Line ('zaebok');


end;
...
Рейтинг: 0 / 0
Натолкните на мысль.
    #39428436
Код: plsql
1.
2.
3.
4.
5.
6.
7.
...
/*пилим башку...*/
...
/*пилим тело...*/   
...
/*пилим жопу...*/
...



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


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