如何将交互式报告下载为 Word (.doc) 文件?
How to download an Interactive Report as a Word (.doc) file?
我是 Oracle Apex 5.1 的新手,有人要求我实现一个按钮,单击该按钮时,用户会获得(下载)交互式报告的 .doc
文件。
我注意到交互式报告让您可以选择将其下载为 .pdf
、.xls
等格式,但我需要它是 Word (.doc)
文件。
此外,该文件必须采用我在 Word 文件中(作为模板)提供的特定格式(标题、缩进、字体等)。
如有任何帮助,我们将不胜感激。
附加信息:我能够在 NotePad++ 中打开模板 (.doc)
文件并获得它的 <html>
版本,因此我可以对其进行编辑在 NotePad++ 和 Word 中。
实际上最好的方法之一是 APEX OFFICE PRINT(AOP),但它不是免费许可。
否则你可以检查这个解决方案
How do we export a ms-word (or rtf) document (from a web browser) to generated by pl/sql?
我最终在这个页面找到了信息:http://davidsgale.com/apex-how-to-download-a-file/ 我写了这段代码:
declare
l_clob clob;
begin
l_clob := null;
sys.htp.init;
sys.owa_util.mime_header('application/vnd.ms-word', FALSE,'utf-8');
sys.htp.p('Content-length: ' || sys.dbms_lob.getlength( l_clob ));
sys.htp.p('Content-Disposition: inline; filename="test_file.doc"' );
sys.owa_util.http_header_close;
sys.htp.p(SET_DOC_HEADER);
sys.htp.p(SET_TABLE_HEADER);
sys.htp.p(ADD_TABLE_ENTRY("arguments"));
sys.htp.p(SET_TABLE_FOOTER);
sys.wpg_docload.download_file(l_clob);
apex_application.stop_apex_engine;
exception when others then
--sys.htp.prn('error: '||sqlerrm);
apex_application.stop_apex_engine;
end;
它有效,但我必须在 SQL Workshop 中创建函数,因为在 html
中编写 table 真的很长。
我是 Oracle Apex 5.1 的新手,有人要求我实现一个按钮,单击该按钮时,用户会获得(下载)交互式报告的 .doc
文件。
我注意到交互式报告让您可以选择将其下载为 .pdf
、.xls
等格式,但我需要它是 Word (.doc)
文件。
此外,该文件必须采用我在 Word 文件中(作为模板)提供的特定格式(标题、缩进、字体等)。
如有任何帮助,我们将不胜感激。
附加信息:我能够在 NotePad++ 中打开模板 (.doc)
文件并获得它的 <html>
版本,因此我可以对其进行编辑在 NotePad++ 和 Word 中。
实际上最好的方法之一是 APEX OFFICE PRINT(AOP),但它不是免费许可。
否则你可以检查这个解决方案
How do we export a ms-word (or rtf) document (from a web browser) to generated by pl/sql?
我最终在这个页面找到了信息:http://davidsgale.com/apex-how-to-download-a-file/ 我写了这段代码:
declare
l_clob clob;
begin
l_clob := null;
sys.htp.init;
sys.owa_util.mime_header('application/vnd.ms-word', FALSE,'utf-8');
sys.htp.p('Content-length: ' || sys.dbms_lob.getlength( l_clob ));
sys.htp.p('Content-Disposition: inline; filename="test_file.doc"' );
sys.owa_util.http_header_close;
sys.htp.p(SET_DOC_HEADER);
sys.htp.p(SET_TABLE_HEADER);
sys.htp.p(ADD_TABLE_ENTRY("arguments"));
sys.htp.p(SET_TABLE_FOOTER);
sys.wpg_docload.download_file(l_clob);
apex_application.stop_apex_engine;
exception when others then
--sys.htp.prn('error: '||sqlerrm);
apex_application.stop_apex_engine;
end;
它有效,但我必须在 SQL Workshop 中创建函数,因为在 html
中编写 table 真的很长。