commit
ecc6f8e287
@ -774,22 +774,29 @@ as
|
|||||||
workbook.sheets( t_sheet ).autofilters( t_ind ).row_end := p_row_end;
|
workbook.sheets( t_sheet ).autofilters( t_ind ).row_end := p_row_end;
|
||||||
end;
|
end;
|
||||||
--
|
--
|
||||||
procedure add1xml
|
procedure add1xml
|
||||||
( p_excel in out nocopy blob
|
( p_excel in out nocopy blob
|
||||||
, p_filename varchar2
|
, p_filename varchar2
|
||||||
, p_xml clob
|
, p_xml clob
|
||||||
)
|
)
|
||||||
is
|
is
|
||||||
t_tmp blob;
|
t_tmp blob;
|
||||||
begin
|
l_count binary_integer;
|
||||||
|
begin
|
||||||
dbms_lob.createtemporary( t_tmp, true );
|
dbms_lob.createtemporary( t_tmp, true );
|
||||||
for i in 0 .. trunc( length( p_xml ) / 4000 )
|
l_count := trunc( length( p_xml ) / 4000 );
|
||||||
loop
|
|
||||||
dbms_lob.append( t_tmp, utl_i18n.string_to_raw( substr( p_xml, i * 4000 + 1, 4000 ), 'AL32UTF8' ) );
|
if mod( length( p_xml ), 4000 ) = 0 then
|
||||||
end loop;
|
l_count := greatest(l_count - 1, 0);
|
||||||
add1file( p_excel, p_filename, t_tmp );
|
end if;
|
||||||
dbms_lob.freetemporary( t_tmp );
|
|
||||||
end;
|
for i in 0 .. l_count
|
||||||
|
loop
|
||||||
|
dbms_lob.append( t_tmp, utl_i18n.string_to_raw( substr( p_xml, i * 4000 + 1, 4000 ), 'AL32UTF8') );
|
||||||
|
end loop;
|
||||||
|
add1file( p_excel, p_filename, t_tmp );
|
||||||
|
dbms_lob.freetemporary( t_tmp );
|
||||||
|
end;
|
||||||
--
|
--
|
||||||
function finish
|
function finish
|
||||||
return blob
|
return blob
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user