Если все, что вам нужно сделать, это обеспечить начальную строку с заголовками столбцов в ней:
begin
-- Set the MIME type
owa_util.mime_header('application/octet', FALSE);
-- Set the name of the file
htp.p('Content-Disposition: attachment; filename="emp.csv"');
-- Close the HTTP Header
owa_util.http_header_close;
-- Send the initial row with headers
htp.prn('Ename,Empno,Department'||chr(13));
-- Loop through all rows in EMP
for x in (select e.ename, e.empno, d.dname
from emp e, dept d where e.deptno = d.deptno
and e.deptno like :P1_DEPTNO)
loop
-- Print out a portion of a row,
-- separated by commas and ended by a CR
htp.prn(x.ename ||','|| x.empno ||','||
x.dname || chr(13));
end loop;
-- Send an error code so that the
-- rest of the HTML does not render
--htmldb_application.g_unrecoverable_error := true;
--use stop apex_engine
apex_application.stop_apex_engine;
end;
В основном вы просто испускать один дополнительный ряд, прежде чем испустить строки данных.
Я прокомментировал htmldb_application
в пользу apex_application.stop_apex_engine
. See documentation
Я только что скопировал код и запустил его, он дал мне csv с дополнительной строкой. Не знаете, как вы разделили одну строку. Вы изменили запятые, если вы изменили их для строк данных? Когда вы получаете дополнительные строки: когда вы загружаете файл или раз делитесь текстом? – Tom
Его потому, что я нажимаю return в конце каждого имени столбца, я сделал это, как указано выше, и отлично работает. Спасибо :-) – Blob