在Oracle Apex 19.2中,可以通过以下步骤将经典报表作为邮件正文发送:
DECLARE
l_report_html CLOB;
BEGIN
l_report_html := apex_util.get_print_document (
p_application_id => :APP_ID,
p_report_query_name => 'YOUR_REPORT_QUERY_NAME',
p_report_layout_type => 'CLASSIC',
p_report_layout_name => 'YOUR_REPORT_LAYOUT_NAME'
);
htp.p(l_report_html);
END;
请将"YOUR_REPORT_QUERY_NAME"替换为你的经典报表查询名称,将"YOUR_REPORT_LAYOUT_NAME"替换为你的经典报表布局名称。
DECLARE
l_mail_host VARCHAR2(100) := 'YOUR_MAIL_HOST';
l_mail_port NUMBER := YOUR_MAIL_PORT;
l_mail_sender VARCHAR2(100) := 'YOUR_MAIL_SENDER';
l_mail_recipient VARCHAR2(100) := 'YOUR_MAIL_RECIPIENT';
l_mail_subject VARCHAR2(100) := 'YOUR_MAIL_SUBJECT';
l_mail_body CLOB;
BEGIN
l_mail_body := apex_mail.get_html_body(
p_html => apex_util.get_print_document (
p_application_id => :APP_ID,
p_page_id => YOUR_REPORT_PAGE_ID,
p_report_query_name => 'YOUR_REPORT_QUERY_NAME',
p_report_layout_type => 'CLASSIC',
p_report_layout_name => 'YOUR_REPORT_LAYOUT_NAME'
)
);
apex_mail.send(
p_to => l_mail_recipient,
p_from => l_mail_sender,
p_subject => l_mail_subject,
p_body => l_mail_body,
p_smtp_host => l_mail_host,
p_smtp_port => l_mail_port
);
END;
请将"YOUR_MAIL_HOST"替换为你的邮件服务器主机名,将"YOUR_MAIL_PORT"替换为你的邮件服务器端口号,将"YOUR_MAIL_SENDER"替换为发件人邮箱地址,将"YOUR_MAIL_RECIPIENT"替换为收件人邮箱地址,将"YOUR_MAIL_SUBJECT"替换为邮件主题,将"YOUR_REPORT_PAGE_ID"替换为包含经典报表的页面ID。
这样,你就可以在Oracle Apex 19.2中将经典报表作为邮件正文发送了。
领取专属 10元无门槛券
手把手带您无忧上云