Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Forms Новый топик    Ответить
 Затык, в голову ничего не лезет.  [new]
saxarock
Member

Откуда: ЕКБ
Сообщений: 134
Имеется Форма (Oracle Froms 6i)

в теле формы пилится
'XLS Files (*.xml)|*.xml|'


БАШКА:
out_file:=Text_IO.Fopen(f_name, 'w'); 
Text_IO.Put(out_file, '<?xml version="1.0" encoding="windows-1251"?>
 <?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:59:38Z</Created>
  <LastSaved>2017-03-06T09:00:17Z</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>
. . . . . . . . . . . . .




Заполняем столбцы:
for cur_rec in cur_1
loop
	Text_IO.New_Line(out_file);
	Text_IO.Put(out_file, '<Row ss:AutoFitHeight="0">
	<Cell ss:StyleID="s62"><Data ss:Type="String">' || cur_rec.name ||'</Data></Cell>');
	Text_IO.New_Line(out_file);
  Text_IO.Put(out_file, '<Cell ss:StyleID="s62"><Data ss:Type="String">'|| cur_rec.numnal ||'</Data></Cell>');
  . . . . . . . . 
 exit when cur_1%notfound;
end loop;


Конец xml:
Text_IO.New_Line(out_file);
Text_IO.Put(out_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>
  <AutoFilter x:Range="R1C1:R1C8" xmlns="urn:schemas-microsoft-com:office:excel">
  </AutoFilter>
 </Worksheet>
</Workbook>');



Необходимо данные из этого курсора впихнуть в первый цикл:
for rec_month in cur_2
loop
Text_IO.New_Line(out_file);
  Text_IO.Put_line(out_file, '<Cell ss:StyleID="s62"><Data ss:Type="String">'|| rec_month.SUMM ||'</Data></Cell>
   </Row>'); 
   exit when cur_2%notfound;    
end loop;


Просьба направить куда ковырять, дайте по возможности RTFM.
7 мар 17, 12:18    [20270454]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Forms Ответить