摘自:(76条消息) oracle ebs输出报表分sheet_yingshuli_e的专栏-CSDN博客
使用plsql写xml格式
一个比较简单的方法,就是先用execl把格式调好,然后另存为xml,就会显示完整的xml代码,直接写到程序李就行了。
a) 头信息
output('<?xml version="1.0" ?>');
output('<?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">
<Created>2006-09-16T00:00:00Z</Created>
<LastSaved>2014-01-27T07:30:33Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
<RemovePersonalInformation/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>8010</WindowHeight>
<WindowWidth>14805</WindowWidth>
<WindowTopX>240</WindowTopX>
<WindowTopY>105</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Center"/>
<Borders/>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Color="#000000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
</Borders>
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Color="#000000"/>
<Interior ss:Color="#BBBBBB" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
</Borders>
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Color="#000000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
ss:Color="#000000"/>
</Borders>
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Color="#000000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Standard"/>
</Style>
<Style ss:ID="s70">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Size="13.5" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Pattern="Solid"/>
</Style>
</Styles>');
b) 分sheet格式
output('<Worksheet ss:Name="' || p_sheet_name || '">
<Table ss:ExpandedColumnCount="100" ss:ExpandedRowCount="100000" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="75" ss:DefaultRowHeight="13.5" ss:Id="table1">');
output('<Row ss:AutoFitHeight="1" ss:Height="17.25">
<Cell ss:MergeAcross="22" ss:StyleID="s70"><Data ss:Type="String">' ||
g_report_title || '</Data></Cell>
</Row>
<Row ss:Index="3" ss:Height="12.75">
<Cell><Data ss:Type="String">合并层次:' ||
cux_public_pkg.get_flex_descption('CUX_GL_COMBINE_LEVEL',
g_level) ||
'</Data></Cell>
<Cell><Data ss:Type="String">合并主体:' ||
cux_public_pkg.get_flex_descption('GZ_COA_COMPANY',
g_company_code) ||
'</Data></Cell>
</Row>
<Row ss:Height="12.75">
<Cell><Data ss:Type="String">期间从:' || g_period_fm ||
'</Data></Cell>
<Cell><Data ss:Type="String">期间至:' || g_period_to ||
'</Data></Cell>
</Row>
<Row ss:Height="12.75">
<Cell><Data ss:Type="String">币种:' || g_currency_code ||
'</Data></Cell>
</Row>');
output('<Row>
<Cell ss:StyleID="s65"><Data ss:Type="String">项目</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Item</Data></Cell>');
FOR rec IN cur_col LOOP
output('<Cell ss:StyleID="s65"><Data ss:Type="String">' ||
rec.company_desc || '</Data></Cell>');
END LOOP;
output('<Cell ss:StyleID="s65"><Data ss:Type="String">合并</Data></Cell>
</Row>');
c) 结束符
output('</Worksheet>');
output('</Workbook>');
2、并发请求那里写 html输出