首页 > 解决方案 > 如何使用嵌入式 html 修复 SQL Developer 报告的输出

问题描述

输出示例 我正在 Oracle SQL Developer 中创建包含查询中嵌入的 html 的报告。格式化结果在 sql dev 的查询输出中正常工作。但是,当我生成报告并在 Chrome 中查看它们时,不显示格式,只显示我在查询中使用的 html 代码。

我已经尝试对查询进行各种调整,但似乎无法让网页结果看起来像查询结果(彩色格式)。

SELECT NAME, 
CASE when TO_CHAR(Date1 - Date2, '00.00') > 2.00 
        THEN '<html><strong><font color="red" face="Calibri" size=5>'
           ||TO_CHAR(Date1 - Date2, '00.00')
           ||'</font></strong>'
        ELSE '<html><strong><font color="green" face="Calibri" size=5>'
           ||TO_CHAR(Date1 - Date2, '00.00')
           ||'</font></strong>'
        END Completion_Time_in_Days
FROM TABLEX
WHERE NAME = 'Brian Test2';

预期:结果出现在 Chrome 中,就像它在查询输出中一样。例如:Brian Test2 COLORED_VALUE

实际:Brian Test2 ex:html-strong-font color="green" face="Calibri" size=5- 00.01-/font-/strong

标签: htmlsqloracleoracle-sqldeveloper

解决方案


将 HTML 放入查询中以影响它在数据网格中的外观是一回事 - 例如......

SELECT FIRST_NAME ,
LAST_NAME ,
EMAIL ,
PHONE_NUMBER ,
HIRE_DATE ,
JOB_ID ,
CASE
          WHEN Salary > 5000
          THEN '<html><strong><font color="green" face="Comic Sans MS" size=5>'
               ||SALARY
               ||'</font></strong>'
          ELSE '<html><font color="blue" face="Comic Sans MS" size=5>'
               ||SALARY
               ||'</font>'
     END salary
FROM HR.EMPLOYEES
fetch FIRST 20 ROWS ONLY

在此处输入图像描述

但是,当您使用导出功能将其另存为 HTML 报告时,这并不是为了适应您在上面所做的事情。它的唯一目的是在 HTML 页面中为您提供一个体面的数据网格呈现

因此,从查询中删除 HTML,然后根据需要生成 HTML,并在事后更新它,也许使用一些 CSS。

或者在 Oracle APEX 中使用另一种技术 - 然后以 HTML 开始和结束。


推荐阅读