钢钢更新

用行动改变世界,做个有情怀的技术宅

本博文翻译自:https://blogs.oracle.com/apex/post/oracle-reports-is-deprecated

Oracle Forms 12.2.1.4 发行说明中已明确说明,Oracle Reports自Fusion Middleware 12c第2版 (12.2.1.3.0) 起已被正式弃用。未来也没有计划进一步开发Oracle Reports。如果将来的版本可用,除了关键错误修复和使其与新的支持技术堆栈兼容所需的更改之外,Oracle不计划对Oracle Reports进行任何功能增强。欲了解更多信息,请参阅此处提供的报告方向声明。

本博文的目的是展示使用 Oracle APEX 探索Oracle Report的各种替代方案,Oracle APEX是世界上最受欢迎的企业应用程序低代码平台,使您能够构建具有世界一流功能的可扩展、安全的企业应用程序可以部署在任何地方。此外,APEX是Oracle数据库完全支持的免费功能,这意味着如果您使用Oracle数据库,则可以开始使用APEX,无需额外的许可费用。APEX提供以下报告打印配置选项:

  • 无(本机) - 如果您不使用外部打印服务器,请选择此选项。此选项使您能够使用基本打印功能,包括CSV、HTML、PDF和XLSX。
  • Oracle 文档生成器预构建函数 - 如果您使用Oracle文档生成器预构建函数,请选择此选项。此选项使您能够获取报告查询结果并使用Oracle Document Generator预构建功能将其从JSON转换为PDF格式。选择此选项可上传您自己的DOCX模板,以便在APEX中打印报告。
  • Oracle BI Publisher - 此选项需要Oracle BI Publisher(也称为 Oracle XML Publisher)的有效许可证。它使您能够获取报告查询结果并使用Oracle BI Publisher将其从XML转换为RTF格式。选择此选项可上传您自己的自定义RTF或XSL-FO模板,以便在APEX中打印报告。 Oracle BI Publisher支持Adob​​e可移植文档格式 (PDF)、Microsoft Word 富文本格式 (RTF)、Microsoft Excel 格式 (XLS) 或可扩展标记语言 (XML)。如果您选择使用其他第三方渲染引擎,还可以配置其他输出格式。
  • APEX Office Print - 如果您使用 APEX Office Print,请选择此选项。此选项使您能够获取报告查询结果并使用APEX Office Print将其从JSON转换为PDF/MS Office格式。选择此选项可上传您自己的MS Office模板,以便在APEX中打印报告。
  • Apache FOP - 如果您在外部 J2EE 服务器上使用 Apache FOP,请选择此选项。此选项使您能够使用基本打印功能,其中包括使用 APEX 中提供的默认模板以及使用您自己的自定义 XSL-FO 模板创建报告查询和打印报告区域。

话虽如此,说到Report,您可以找到两种类型的Report:

  • 带有列标题和数据的简单纯Report。在 Oracle Report中也称为“表格”、“上方组”、“矩阵”。
  • 像素完美的定义Report。在Oracle Report中也称为表格、套用信函。

让我们使用示例Oracle Reports查询来查看APEX中的每种类型的报告,该查询可在 使用Reports Builder手动创建报告 教程中找到:

1
2
3
4
5
6
7
8
SELECT ALL DEPARTMENTS.DEPARTMENT_NAME, EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, EMPLOYEES.SALARY, LOCATIONS.CITY, COUNTRIES.COUNTRY_NAME, EMPLOYEES.HIRE_DATE
FROM OEHR_EMPLOYEES EMPLOYEES, OEHR_DEPARTMENTS DEPARTMENTS, OEHR_LOCATIONS LOCATIONS, OEHR_COUNTRIES COUNTRIES
WHERE EMPLOYEES.HIRE_DATE > to_date('01-01-2000','dd-mm-yyyy')
AND ((EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID)
AND (DEPARTMENTS.MANAGER_ID = EMPLOYEES.EMPLOYEE_ID)
AND (DEPARTMENTS.LOCATION_ID= LOCATIONS.LOCATION_ID)
AND (LOCATIONS.COUNTRY_ID=COUNTRIES.COUNTRY_ID))
ORDER BY DEPARTMENTS.DEPARTMENT_NAME ASC

简单明了的报告

Oracle APEX具有多个组件,可帮助您根据需要显示数据:

  • 分面搜索智能过滤器 允许用户过滤不同的列和报告以仅获取他们需要的数据。您可以将此功能与经典报表、卡片、地图或日历区域结合使用。
  • 交互式报告 提供了用于自定义报告的强大功能,例如搜索、过滤、排序、突出显示、分组、数据透视、聚合、计算、图表等。
  • 交互式网格 包括交互式报表中提供的大多数自定义功能,而且用户可以快速编辑多行数据 - 就像单击单元格并编辑其值一样简单。
  • 经典报告 具有基于SQL查询的格式化结果的简单报告页面。
  • APEX_REGION.EXPORT_DATAAPEX_DATA_EXPORT API以编程方式生成PDF、CSV、Excel、HTML、JSON和XML文件。

对于表格报告,您可以使用分面搜索/智能过滤器页面和经典报告,允许用户进一步过滤数据、显示图表和下载数据。只需使用向导即可为您的 APEX 应用程序创建页面:

图1.基于SQL查询创建新的分面搜索页面

生成报告有两种方法:

  • 下载:您可以在经典报告区域中启用此选项,允许用户将报告内容下载到CSV文件。
  • 打印:您还可以在经典报告区域中启用此选项,该选项允许您选择报告输出格式(PDF、Word、Excel、HTML 和 XML)和报告布局。

将报表布局与报表区域或报表查询结合使用,以远程打印服务器支持的打印机友好格式呈现数据。根据远程打印服务器的类型,可以使用以下方式设计报告布局:

  • Template Builder Word插件并作为RTF或XSL-FO类型的文件上传。
  • 使用特殊模板语法的Word文档。

对于远程打印服务器,您可以选择 Oracle Analytics Publisher文档生成器 功能或 APEX Office Print。其中任何一个都允许您使用 自定义报告布局 下载数据。

图2.下载和打印属性

对于“Group Below”报表,您可以使用“交互式报表”或“交互式网格”。使用向导创建页面,然后运行该页面来自定义报告以满足您的要求:

图3.自定义报告

如果您的页面上没有报告区域,您仍然可以通过在APEX页面上创建进程来使用APEX_DATA_EXPORT API导出数据,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
declare
l_highlights apex_data_export.t_highlights;
l_context apex_exec.t_context;
l_export apex_data_export.t_export;
l_print_config apex_data_export.t_print_config;
begin

l_context := apex_exec.open_query_context(
p_location => apex_exec.c_location_local_db,
p_sql_query => 'SELECT ALL DEPARTMENTS.DEPARTMENT_NAME "Department Name", EMPLOYEES.FIRST_NAME "First Name", EMPLOYEES.LAST_NAME "Last Name",
EMPLOYEES.SALARY "Salary", LOCATIONS.CITY "City", COUNTRIES.COUNTRY_NAME "Country Name", EMPLOYEES.HIRE_DATE "Hire Date"
FROM OEHR_EMPLOYEES EMPLOYEES, OEHR_DEPARTMENTS DEPARTMENTS, OEHR_LOCATIONS LOCATIONS, OEHR_COUNTRIES COUNTRIES
WHERE EMPLOYEES.HIRE_DATE > to_date(''01-01-2000'',''dd-mm-yyyy'')
AND ((EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID)
AND (DEPARTMENTS.MANAGER_ID = EMPLOYEES.EMPLOYEE_ID)
AND (DEPARTMENTS.LOCATION_ID= LOCATIONS.LOCATION_ID)
AND (LOCATIONS.COUNTRY_ID=COUNTRIES.COUNTRY_ID))
ORDER BY DEPARTMENTS.DEPARTMENT_NAME ASC' );

l_print_config := apex_data_export.get_print_config(
p_body_font_color => '#4B4540',
p_page_header => 'Report of Employees',
p_page_header_font_color => '#4B4540',
p_page_header_font_size => 14,
p_page_header_font_weight => apex_data_export.c_font_weight_bold,
p_page_footer => 'Your Company',
p_page_footer_font_color => '#4B4540',
p_page_footer_font_size => 14,
p_page_footer_font_weight => apex_data_export.c_font_weight_bold,
p_border_width => 1,
p_border_color => '#4B4540');

l_export := apex_data_export.export (
p_context => l_context,
p_format => apex_data_export.c_format_pdf,
p_print_config => l_print_config );

apex_exec.close( l_context );

apex_data_export.download( p_export => l_export );

exception
when others then
apex_exec.close( l_context );
raise;
end;

图4.使用APEX_DATA_EXPORT API导出SQL查询数据

要了解有关如何使用API的更多信息,请阅读探索 Oracle APEX 的报表打印

像素完美的报告

本博客文章开头提到的发行说明指出,Oracle建议出于报告目的迁移到Oracle BI Publisher。让我们回顾一下您可能拥有的像素完美报告的替代方案:

Oracle分析发布者

要使用 APEX 应用程序配置Oracle Analytics,请执行以下步骤:

  1. 将云端或本地的Oracle Analytics 实例配置为 APEX 工作区上的打印服务器。
  2. 创建报告布局。可以使用MS Word的Oracle BI Publisher插件创建布局,该插件通过提供简单的拖放界面使报表布局设计变得容易。
  3. 创建您的报告查询。
  4. 从您的页面调用您的报告。

文档生成器预建功能:最近推出的功能,可根据JSON数据和MS Word模板的组合生成PDF文档。在APEX 24.1 中,您现在可以通过将文档生成器服务配置为远程打印服务器来轻松集成它。您可以在Word文档中开发打印模板,PDF引擎将其与您的应用程序数据相结合以呈现最终输出。了解更多:使用Oracle APEX和OCI文档生成器无缝生成 PDF

APEX Office Print (AOP):灵活的引擎,使Oracle APEX能够生成PDF、Word、Excel、PowerPoint和 HTML 文档。此外,您还可以使用 APEX Office Edit (AOE) ,它允许您直接在APEX应用程序中创建和编辑文档。了解更多: https://www.apexofficeprint.com/docs/category/getting-started

JasperReportsIntegration提供了一个在Oracle数据库应用程序(特别是 Oracle APEX)中使用 JasperReports报告引擎的接口。了解更多: https://github.com/daust/JasperReportsIntegration/blob/main/src/doc/github/installation-quickstart.md

结论

Oracle APEX是一个完整的企业应用程序平台,无论您是使用APEX对Forms应用程序进行现代化改造,还是在云或本地从头开始创建应用程序,它都能满足您的业务需求。在 apex.oracle.com 上免费尝试和探索APEX。

Oracle 宣布 APEX 24.2 版本全面上市。此版本使使用生成开发构建低代码应用程序变得更加容易,从而提供增强的开发人员和最终用户体验。

Oracle APEX 使开发人员能够快速构建低代码、功能丰富、易于维护的任务关键型应用程序。为了帮助开发者利用人工智能加速应用程序开发并为应用程序用户提供更丰富的体验,APEX 24.2 版本在以下关键领域提供了增强功能:

使用 APEX GenDev 快速创建应用程序

APEX 24.2 进一步增强了 24.1 版本中首次引入的 GenAI 支持的开发选项。开发人员现在可以使用 APEX AI Assistant 通过自然语言界面创建和微调自定义 SQL 数据模型和关联的示例数据。这允许开发人员快速创建支持其应用程序的数据库对象,从而加速应用程序开发 - 专注于数据模型的目标而不是语法。

AI 辅助开发

此 Oracle APEX 发行版基于对生成式 AI 的支持,并推出了新的 AI 功能,其中包括:为 AI 调用提供 RAG 数据、生成文本的新动态操作、使用 AI 创建定制数据模型、向量搜索支持,以及对构建器 AI 配置的改进。APEX 24.2 还提供了新的 JSON 源共享组件、对模板组件的分组支持、可视对象相关性报告功能、对工作流和 REST 数据源的多项增强、对 Oracle Fusion 云应用项目集成的改进、对页设计器中的文本消息替代语法和访问的更有力支持,以及字体 APEX 2.4 和通用主题更新等!此外,新的搜索配置类型增加了对 Oracle 数据库 23ai 向量搜索的支持。

对AI服务的声明式调用

将 AI 配置与新的“使用 AI 生成文本”动态操作相结合,可帮助您执行预定义的操作,如创建内容、概要和翻译。调用该操作会立即返回响应,让您能够完全控制所需的用户体验。

创建定制数据模型

在SQL工作室中使用自然语言设计定制方案。APEX AI 助手帮助生成 Oracle SQL 或 Quick SQL 脚本,用于创建表、触发器、约束等。

向量搜索支持

支持最终用户通过语义相似性搜索查找最相关的结果。新的搜索配置类型简化了将 Oracle 数据库 23ai 向量搜索添加到应用的过程。指定索引使用、距离度量和最大向量距离等详细信息后,就能见证用户比以往更快地找到所需内容并体会到用户的喜悦。

AI配置屏幕改进

在创建过程中测试生成式 AI 连接,以检查连接是否正常工作,并根据需要从“SQL 工作室实用程序”和“工作区实用程序”页查看数据字典高速缓存,以刷新参与 APEX AI 助手对话的数据库对象。

JSON 数据源

在 APEX 24.2 版本中,可以从 JSON(或 JSON Duality View)数据源创建低代码应用程序。这意味着在开发过程中,开发人员可以使用 JSON 数据源代替 REST 接口,从而简化开发并提高生产力。

模板组件增强功能

模板组件插件类型已改进,现在支持分组、以声明方式对报表结果排序,以及通过增强的 API 更好地控制模板组件区域。

工作流增强功能

工作流是 APEX 的一项功能,允许开发人员捕获 APEX 应用程序内的顺序流程,现在可以从进一步简化整个企业的 AppDev 协作的新选项中受益。现在可以重复使用通用工作流程模板,从其他工作流程调用,或划分为更易于管理的单元,以实现更大的灵活性和应用程序自定义。工作流还可以提供输入和输出参数来控制其操作。例如,在有明确定义步骤(提交/审核/批准/支付)的费用报告应用程序中,您可能需要规定提交费用的最低金额。

REST 源增强功能

REST 数据源已改进,现在支持灵活的远程服务器配置、基于标记的分页、新的排序功能,以及简化的共享组件区域。

Oracle Fusion 云应用

使用 APEX 扩展和增强 Oracle Fusion 应用程序的开发人员可以利用新的“创建融合集成”选项来简化创建这些 Fusion 扩展的过程。此选项可自动执行许多以前的手动配置步骤,并添加单点登录 (SSO) 和身份传播设置,从而简化用户访问 Fusion 应用程序扩展的过程。

应用程序对象相关性

新的可视对象相关性报告功能允许开发人员轻松扫描应用并查看对工作区内数据库对象的引用。

改进了构建器中的文本消息

页设计器已更新,现在可以更方便地搜索和选择文本消息,并使用缩短的替代语法引用文本消息。此外,现在只需将文本定义为文本消息,并将这些消息翻译成所需的语言,就可以将单个应用翻译成多种语言,并在不同语言之间进行切换。

通用主题

通用主题增强功能包括:推出 250 多个全彩国旗图标,支持在内容行中分组,能够创建多个头像区域,新增许多实用程序类,提供密码可见性,以及通过集中式主题资料档案库提高应用性能。

可访问性改进

APEX 已完全采用新的 OAG 3.2 准则,APEX 构建器已更新为呈现可访问的只读元素,并修复了标题级别中影响可访问性的层次结构问题。ARIA 实时区域也已更新,可一致地处理实时消息。

OpenTelemetry 支持

APEX 新增了对 OpenTelemetry 的支持,允许开发人员从 APEX 应用收集客户端用户体验数据,并对用户体验性能执行更深入的分析。

构建器改进

APEX 构建器进行了多项改进,包括在工作区之间导出和导入页的功能、自动订阅构建器扩展、以更加用户友好的方式查看和编辑列表、改进页设计器以通过声明方式调整模式对话框大小,以及直接在页设计器标题和面包屑中查看页和应用信息。

其他功能

  • 文档生成器集成服务已改进,现在支持将 Excel 模板用作报表布局。支持从 DOCX 到 DOCX、XLSX到 PDF 或 XLSX 到 XLSX 的打印。
  • 当运行应用的翻译版本时,如果翻译版本与主要语言版本不一致,开发人员将收到通知。
  • “多选”页项已更新,在以逗号分隔的列表显示所选值时包含一个计数按钮。
  • 项插件现在默认使用更新的基础设施,允许开发人员为项配置不限数量的属性。
  • 开发人员可以配置交互式报表,以便在使用刷新动态操作时保持当前的分页和滚动条的位置。
  • 分面搜索增强功能包括:使用新的同步功能为现有区域创建新分面,以及使用新选项在一个对话框中显示分面,以向用户提供许多分面。
  • 即使在工作副本中运行,开发人员也可以使用新的替代字符串 MAIN_APP_ID 可靠地引用主应用 ID。
  • 改进了从搜索配置创建的搜索页,以提供更好的 UI 体验。生成的搜索输入字段包括一个默认搜索图标,按 ESC 键会清除输入,并显示一个占位符。“搜索结果”区域已添加标准默认消息,以避免在进行任何搜索之前显示空结果区域。
  • 更新了弹出式 LOV 搜索属性,使其与新的 LOV 组件(如“单选”、“多选”和组合框)保持一致。使用匹配类型和区分大小写属性可获得更丰富的搜索功能。
  • 增强了地图区域,对从右到左的文本呈现提供全面支持。这修复了一个关于在地图区域中显示 RTL 标签的未解决错误。
  • 此发行版扩展了对内容安全策略的支持,在整个 APEX 平台中没有不安全的内嵌样式、脚本标签和 JavaScript 伪 URL。
  • APEX PL/SQL API 更新为开发人员带来了新功能和改进功能。全新的程序包 APEX_SHARED_COMMENTS 为您使用共享组件提供了新的 API。APEX_LANG 程序包已改进,现在包括新的 GET_MESSAGE 函数以及更新的 UPDATE_MESSAGE 和 CREATE_MESSAGE 过程。APEX_PAGE 中的 GET_URL 函数添加了一个新参数来处理绝对 URL。可使用 APEX_REGION 中的新 GET_ID 函数返回指定区域的 ID。还可使用 APEX_CREDENTIAL 中的 SET_SCOPE 过程以编程方式更改 Web 身份证明的范围。
  • 我们已经将多个 JavaScript 库更新到较新发行版,包括 Oracle JET 17.0.2、FullCalendar 6.1.15、Monaco Editor 0.51.0、MarkedJS 14.1.2、DOMPurify 3.1.6、Terser 5.31.3、Cropper.js 1.6.2、Turndown 7.2.0、字体 APEX 2.4、Oracle 多信息文本库 2.0、jQuery Migrate 3.5.2 和 MapLibre 4.6.0。

从哪里可以获得 Oracle APEX 24.2?

访问 apex.oracle.com,通过免费的在线工作区试用 Oracle APEX 24.2 或下载该产品。 APEX 服务和自治数据库上的 APEX 24.2 预计将在未来三周内在全球所有云区域推出。

如果您有兴趣了解有关 Oracle APEX 的更多信息,我们鼓励您注册免费的在线学习课程。这些自定进度的课程为每个开发人员提供了按照自己的进度和便利程度精通 APEX 的机会。 Oracle APEX 开发人员专业学习路径获得新更新以与 Oracle APEX 24.2 保持一致。学习路径现在包括Oracle APEX开发人员专业课程和Oracle APEX :利用 AI 增强低代码应用程序课程及其实践实验室。完成课程后,您可以从 2 月 14 日起报名参加新的 1Z0-771 Oracle APEX云开发人员专业认证!

Oracle APEX 24.2 是一个重要的新版本,引入了几个令人兴奋的新功能。如果您是一名希望构建下一代人工智能应用程序的开发人员,请立即尝试 Oracle APEX 24.2。您可以通过 apex.oracle.com/forum 反馈关于APEX的任何问题。

有关 APEX 24.2 中的新功能以及许多其他令人兴奋的增强功能的更多信息,请参阅 发行说明 或访问 APEX 24.2 中的新增功能 页面。

如果您想直接从 APEX 开发团队了解更多信息,请报名参加 2025 年 1 月 31 日在德克萨斯州奥斯汀举行的面对面 APEX 训练营。您还可以报名参加由四部分组成的 APEX 24.2 新功能办公时间系列 Oracle APEX Office Hour 页面。

以下是截止至 2024.12.29收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

以下是截止至 2024.11.30收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

应Oracle的小伙伴邀请,又来参加一年一度的 Oracle CAB & PAB 了。本次网友见面会一如既往的干货满满,诚意满满。见到了很多老朋友,也结交了更多的新朋友。会议上代表APEX中文社区分享了关于《APEX的典型应用场景》,也让更多的小伙伴了解认识到Oracle APEX的强大!

希望老东家越来越好,期待明年再见!

以下是截止至 2024.10.31收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

以下是截止至 2024.09.30收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

以下是截止至 2024.08.30收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

以下是截止至 2024.07.31收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

以下是截止至 2024.06.29收集的 Oracle APEX 最新博文,完整博文列表请移步这里:Oracle APEX Evangelion(EVA 补完计划)

常规APEX博文整理:

0%