注:
- Oracle 提供的免费实验室环境中提供了本教程。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室后,请使用特定于您的云环境的这些值替换这些值。
使用 APEX 从电子表格创建应用程序
简介
Oracle Application Express (APEX) 是一个低代码开发平台。通过该平台,客户可以使用先进的功能,轻松构建可扩展的稳定应用。它也免费包含在 Oracle Database 的所有最新版本中,包括 Oracle Autonomous Data Warehouse 和 Oracle Autonomous Transaction Processing 服务。
此实验室将向您展示如何利用从公用业务电子表格导入的数据创建强大的 APEX 应用。许多客户将大量的时间和精力浪费在无法管理的电子表格中,以保持业务工作流和关键数据。电子表格无法扩展这是一种常见的事实。如果您的客户可以从该电子表格中创建安全、可扩展的多用户应用,从而节省时间和金钱,结果将会怎样?这就是在实验室里您将学习的内容!
目标
- 使用上载的电子表格数据构建安全的可扩展应用
- 通过 APEX 的强大面向面搜索来管理和更改筛选器,从而改进应用
- 改进交互式报告和表单页面,以添加更好的可用性功能
- 改进“日历”页以反映业务目标
- 链接页
- 自信地向客户演示 APEX 应用!
目标读者
- 云销售和工程部
- 数据库云销售和工程设计
先决条件
- 熟悉基本云
创建 Oracle Autonomous Database 实例
APEX 是 Oracle Database 的一个功能,包括 Oracle Autonomous Data Warehouse 和 Oracle Autonomous Transaction Processing 服务。我们将使用 Oracle Cloud Infrastructure (OCI) 上的 Oracle Autonomous Transaction Processing 实例来托管和 APEX 工作区。
概览视频
有趣的事实!什么是 APEX 工作区?
APEX 工作区是定义 APEX 应用程序的逻辑域。每个工作区都与一个或多个数据库方案(数据库用户)关联,这些方案用于存储表、视图、程序包等数据库对象。这些数据库对象通常是 APEX 应用程序基于的。
-
在 OCI 控制台内,打开资源菜单,导航到 Oracle Database 并选择自治事务处理。

-
在列表范围部分中,选择分配给实例的 Luna 区间。展开减号,直到找到临时区间并选择它。

-
单击 Create Autonomous Database。

-
您只需在 Autonomous Database 配置页面中添加管理员用户的密码即可。向下滚动表单到创建管理员凭据部分,然后输入 12-30 位密码。务必记住这一点,因为您以后将使用它。查看表单并接受所有默认值。
字段 建议信息 区间 验证是否已选择您的 Luna 区间 显示名称 接受默认值 数据库名称 接受默认值 选择工作负载类型 事务处理 选择部署类型 共享基础结构 数据库版本 19c OCPU 计数 1 存储 (TB) 1 用户名 管理 (无法编辑) 口令 创建 12-30 个字符的密码 选择网络访问 允许从任何位置进行安全访问 选择许可证类型 自带许可证 (BYOL) -
单击 Create Autonomous Database。

数据库创建过程需要几分钟时间。在设置过程中,“ATP”图标将显示橙色。

完成后,ATP 图标将显示为绿色并且可用。务必安排一次小型庆祝活动,因为只需几分钟即可启动和配置全球最强大的数据库!

配置 APEX 工作区
由于您刚刚创建了一个全新的 Oracle Autonomous Database 实例,因此需要将 APEX 配置为首次使用。在接下来的步骤中,您将以管理员身份登录以初始化工作区并创建名为 demo 的用户。然后,您以新用户(演示)身份注销并重新登录,以开始创建您的第一个优秀应用。
概览视频
-
单击“Tools(工具)”选项卡,访问数据库工具部分,您将在其中找到指向 APEX 应用程序的链接。

-
单击 Open APEX 开始。

-
在第一步中输入用于创建 Oracle Autonomous Database 的管理员密码,然后单击登录管理。

-
单击创建工作区。

-
在“Create Workspace(创建工作区)”对话框中,您将创建一个新用户和一个新工作区来存放应用程序。输入以下信息,然后单击创建工作区:
属性 值 数据库用户 演示 密码 使用您之前使用的相同密码或您选择的其它密码 工作区名称 演示 
您已成功使用一个名为 DEMO 的新用户创建了一个名为 DEMO 的新工作区。
现在,您需要注销管理工作区并登录到 DEMO 工作区。最简单的方法是在可能位于屏幕顶部的 Workspace created 消息上单击 DEMO。

-
这将注销管理工作区,并允许您登录到新的 DEMO 工作区。填写口令并单击登录。

从电子表格创建应用程序
在本部分中,您将学习如何使用从电子表格导入的数据创建 APEX 应用程序。为了简化演示,您将使用 APEX 中内置的样本数据。但是,如果您上载的是自己的数据或客户数据,则这些步骤是相同的。
现在您已登录您的工作区,可以开始创建 APEX 应用程序。您将基于电子表格构建一个简单的应用。请记住,APEX 适用于各种应用,例如从此类简单应用到基于本地数据库对象、启用 REST 的 SQL 对象甚至 REST API 的大型复杂应用。
虽然 APEX 开发人员将大部分时间花在应用构建器中,但您还应调查 SQL 工作室,在这里可以创建和维护数据库对象“Team Development(团队开发)”,在其中可以跟踪大型 APEX 开发项目以及应用程序库,其中包含许多工作效率和示例应用程序,您可以在数分钟内安装这些应用程序。
概览视频
加载项目和任务数据
-
从 APEX 工作区主页中,单击应用程序构建器。

-
单击创建新应用程序。

-
单击从文件。

从文件创建应用程序时,APEX 允许您上载 CSV、XLSX、XML 或 JSON 文件,然后基于这些文件中包含的数据构建应用程序。您还可以复制并粘贴 CSV 数据或加载示例数据。对于此演示,您将加载应用程序附带的示例数据。
-
在“加载数据”向导中,单击顶部的复制并粘贴选项。

-
从示例数据集列表中选择项目和任务,然后单击下一步。

-
查看演示应用程序的已解析数据,然后单击下一步。

-
选择要将数据加载到的新表。验证表所有者是否设置为演示。将“表名”设置为 PROJECT_TASKS,然后单击加载数据。

单击加载数据后,您将看到微调器,直到向导完成数据加载。
注意:“数据加载”向导已创建一个新表,并使用示例数据中的记录填充该表。现在,您将根据新表中的数据创建应用程序。
-
在 "Load Data"(加载数据)对话框中,确认已将 73 行加载到 PROJECT_TASKS 表中,然后单击 View Table(查看表)。

-
您现在位于对象浏览器中,查看表结构以及将创建的其他信息。在表工具栏中,单击创建应用程序按钮。

-
在“创建应用程序”页上,单击创建应用程序。

在“Create Application(创建应用程序)”页面中,查看列出的页面,这些页面将成为新应用程序的基础。如果已经了解所需内容,可以单击每个页面的编辑按钮在前面添加定制内容。如果有时间,单击此项可查看每个值。
-
在功能下,单击全部选中链接以在应用程序中包括所有可用功能。单击创建应用程序。

-
等待几分钟,以便创建应用程序。向导完成后,您将重定向到应用程序构建器中的应用程序主页。

-
单击运行应用程序。这将在新的浏览器选项卡中打开运行时应用程序,使您可以查看最终用户将如何查看应用程序。

-
输入您的用户身份证明并单击登录。
注意:请使用用于登录 APEX 工作区的相同用户名和密码。(演示)

-
浏览应用并熟悉整体外观。

-
单击仪表盘(在主菜单或导航菜单中)可查看自动创建的默认图表。

-
单击导航菜单中的项目任务搜索并尝试分面搜索。请从头脑中记下搜索的工作原理,这就是您向客户展示可以改进应用程序并使数据更有用的地方。

-
单击项目任务报表以查看交互式报表,然后单击记录的编辑图标以在可编辑的“表单”页面中显示详细信息。

-
接下来,导航到日历页面并查看显示的数据。请注意,默认行为允许在将鼠标悬停在事件上并单击事件时显示信息,不会有任何变化。
注意:可能需要回滚几个月才能查看数据。

-
最后,查看管理下提供的选项。
注意:作为奖金,请在“管理”屏幕中查看您是否能够确定如何将主题从默认 Vita 更改为 Redwood Light 主题。

改进分面搜索
在本部分中,您将获得针对特定用例定制应用的第一手体验。首先更改分面搜索页面,帮助阐明数据,并使其更可用于特定情况。分面搜索允许用户使用基于货品分类的筛选器缩小搜索结果范围。搜索页面包括左侧的侧面,可以轻松地用于限制右侧报告中显示的数据。
概览视频
复查应用程序中的项目任务搜索页时,可以选中和取消选中各个侧面以创建数据的不同视图。在默认视图中,检查侧面时,所有剩余侧面的计数都将更新,以显示符合新标准的记录数。我们将在以下步骤中定制某些方面。
查看分面时,您会注意到状态部分位于页面下方,您可以使用复选框选择多个值,一个或多个值。

-
在运行时应用程序中,单击项目任务搜索转至搜索页。当您从 APEX 应用程序构建器运行此应用程序时,将在屏幕底部显示一个开发人员工具栏。
注意:直接登录到应用程序的最终用户看不到此工具栏。
-
在“开发人员”工具栏中,单击 Edit Page 3。

-
或者,您也可以通过选择相应的浏览器选项卡或窗口手动返回到浏览器中的“APEX App Builder(APEX 应用程序构建器)”选项卡。在应用程序构建器中单击 3 - 项目任务搜索。

现在应位于页面设计器中。在页面设计器中,您将花费大部分时间来改进应用。页面设计器中有三个窗格。左侧窗格最初显示呈现树,其中包含页面组件的列表。中间窗格显示布局、页面的表示形式以及库,您可以从中将新组件拖放到布局中。右侧窗格是属性编辑器,您可以在其中更改所选组件的属性。

状态是一个非常常见的搜索标准,因此为了使应用程序更有用,您希望对侧面重新排序,以便状态在项目和分配对象之间,从而使它能够更易于使用。
-
在呈现树(左侧窗格)中,在 Search 下,在 Facets 中单击并按住 P3_STATUS 并向上拖动,直到它位于 P3_PROJECT 下,然后释放鼠标。

当前状态分面是一系列复选框。但是,用户不太可能一次选择多个,因此将其转换为单选组。
-
继续选择 P3_STATUS,在属性编辑器(右侧窗格)中,依次找到 Identification 和 Type。将类型从复选框组更改为单选组。
-
向下滚动属性面板,然后依次查找列表条目和零计数条目,并将此字段从隐藏更改为显示最后一项。

-
在页面右上角,单击“保存并运行”页面可保存对分面所做的更改并查看应用程序。

-
在运行时环境中,单击其中一个状态。根据您的选择,查看其他侧面的计数是如何更新的。另请注意,您仍可如何选择其他状态之一以快速对数据进行排序,或单击清除以重置选项。

您可能已发现侧面从页面底部开始。最好将最后三个方面折叠起来,以便更容易查看所有可用选项。在接下来的几步中我们一起注意这一点。
-
使用开发人员工具栏中的编辑链接导航回开发环境 (APEX 应用程序构建器),或者手动导航到相应的浏览器选项卡。

-
在呈现树(左侧窗格)中,在 Search(搜索)下的 Facets(侧面)中,单击 P3_ASSIGNED_TO,按住 Shift 键,然后单击 P3_COST,以便选择三个侧面。在属性编辑器(右侧窗格)中,在顶部的过滤器内,输入 collap,以便仅显示两个属性。在 Advanced(高级)和 Initially Collapsed(初始折叠)中,将交换机更改为选中状态。

注意:您不仅可以输入筛选器,还可以向下滚动属性,直至找到要更新的正确属性。
-
单击保存并运行页以查看改进的搜索页。

做得好!现在,您已使用客户的基本电子表格应用程序,并添加了一些有助于提高其可用性的功能。在下一部分中,您将为报表部分添加一些增强功能。
改进报告和表单
在本节中,您将深入了解交互式报表的功能,并学习如何从最终用户角度增强表单页。项目任务报表页使用交互式报表显示记录。交互式报表功能极其强大,因为它们允许最终用户修改显示的数据并更改显示特征。对于此报表,您将添加分栏符、计算列、聚合和图表。然后对数据进行排序并保存报告供每个人查看。
概览视频
注意:除保存替代报表外,所有以下步骤都可以由最终用户执行。最终用户可以使用许多其他功能,这些功能未在下文中介绍。
-
在运行时环境中,单击项目任务报表。
-
单击项目列标题,然后选择控制中断,这是项目标题下方右侧的图标。

在此处添加一个计算列,用于比较预算与项目成本。APEX 允许最终用户根据报表中的现有列以及添加计算的功能来定义新列。使用与每列关联的字母在计算中选择列。
-
在报表顶部,单击操作,选择数据,然后选择计算。

-
在新打开的“计算”对话框中,输入新列的名称作为预算 V 成本。接下来,使用 Format Mask 上的下拉列表选择掩码 $5240.10,它将显示为 FML999G999G999G999G990D00。我们使用列选择器选择要以 I 开头的列。输入空格和破折号,然后选择列 H,使表达式与示例图像中的表达式类似。单击应用。
属性 值 列标签 预算 V 成本 格式掩码 5234.10 美元 计算表达式 I - H 
这会将新列预算与成本添加到交互式报表。
-
要添加每个项目的预算与成本,请单击操作,选择数据,然后选择汇总。

-
在“汇总”对话框中,选择总计函数,然后从预算 V 成本下拉列表中选择新列,然后单击应用。

虽然您可以查看每个项目的总预算与成本,但要全面了解所有项目,在图表上查看总计将会容易得多。
-
在报告中,单击操作,选择图表。使用下拉列表使用“条形图”选择输入以下信息,然后单击应用。
属性 值 标签 项目 值 ** 预算 V 成本 函数 总和 排序 标签 - 升序 方向 水平 
-
单击应用后,将显示图表。将鼠标悬停在交互式图表的各个部分上可查看数据。使用操作按钮左侧的报表顶部的图标在报表视图和图表视图之间切换。

-
这样,数据更易于消化,您需要确保每个项目中的所有记录都先按开始日期然后按结束日期排序。在报表顶部,单击查看报表图标,单击操作,选择数据,然后选择排序。

-
在排序对话框中,输入以下信息,然后单击应用。
行 属性 值 2 列 开始日期 3 列 结束日期 3 空值排序 始终为 NULL 
现在您对交互式报告进行了修改,保存报告布局非常重要。最终用户只能保存他们可以查看的专用报告,或保存其他用户也可以查看的公共报告。
注意:开发人员可以通过在页面设计器中更改报表属性来删除最终用户保存公共报表的功能。
开发人员可以将报告另存为主要报告(默认报告)或替代报告,以便针对不同的用例提供不同的数据视图。在接下来的步骤中,您将报表另存为替代报表。
-
在报告中,单击操作,选择报告,然后选择保存报告。
-
在保存报告时,在保存(仅为开发人员显示)下拉列表中,选择作为默认报告设置。
注意:最终用户可以保存“专用”和“公共”报告;但是,只有开发人员(从应用程序构建器运行应用程序)才能保存“主要”和“替代”报告。

-
在“保存默认报表”上,选择替代,在名称字段中,输入预算复查,然后单击应用。

新的选择列表将显示在报表的顶部,其中列出了可供用户使用的所有已保存报表。
-
返回初始报表视图并选择 1。主报告,然后单击重置。

在下一部分中,我们将改进表单页面。通过表单页面,最终用户可以轻松更新单个信息记录。这些页面通常是模态页面,它们显示在原始页面的顶部,原始页面呈灰色显示,不首先关闭模态页面即可访问。模态页面的优点是可以从许多其他页面调用同一页面。这些规则包括页面定义中的所有处理、验证等,对用户友好,有助于用户获得非常直观的用户体验。
默认情况下,“创建应用程序向导”生成的表单页面为模态页面。维护项目任务的模式页将占用大量房地产。通过将日期放在同一行上,将成本和预算放在同一行,可以轻松改进这一点。最后,状态允许输入任何值,因此您应该通过添加允许状态列表来限制数据输入。
-
在运行时环境中,在“项目任务报告”页面上,单击任何记录的编辑图标。

将显示所选记录的模态表单页面。
-
在屏幕底部的“开发人员”工具栏中,单击编辑第 5 页。
注意:如果无法使用开发人员工具栏进行导航,请手动导航到 APEX 应用程序构建器的浏览器选项卡。如果位于应用程序主页,请单击 5 - 项目任务导航到该页面。如果已经位于页面设计器的另一页上,请使用工具栏中的页面选择器导航到第 5 页。
通过在“布局”面板中拖放项,可以移动项。您还可以将新组件(如区域、项和按钮)从“库”的“布局”下面拖到“布局”中。
-
在加载了第 5 页的页面设计器中,在布局(中间窗格)中单击 P5_END_DATE 并继续按住鼠标。将项向上和向右拖动,直到它紧跟在 P5_START_DATE 之后,并显示深黄色框。释放鼠标以将项放置在新位置中。

作为使用拖放功能的替代方法,您还可以使用布局面板中的属性重新定位项。
-
(替代方法)在页面设计器的布局中(或左侧窗格中的呈现树)选择 P5_BUDGET。在属性编辑器(右侧窗格)的布局中,取消选择启动新行。

注意:一旦取消选择“开始新行”,项目就会移至与上面的项目位于“布局”中的同一行。
接下来,您将增强报告,限制数据输入。要限制项的数据输入,最简单的方法之一是将允许输入任何数据的文本项转换为选择列表。
-
在页面设计器的呈现树(左侧窗格)中,选择 P5_STATUS。在属性编辑器(右侧窗格)中,输入以下信息:
组 属性 值 标识 Type 选择列表 值列表 Type SQL 查询 显示附加值 取消选中 空显示值 键入 - Select Status - 

-
在值列表和 SQL 查询字段中,输入以下代码:
select distinct status d, status r from project_tasks order by 1
-
在测试之前保存更改非常重要。在页面设计器的工具栏(顶部)中,单击保存。

注意:如果在工具栏中按“保存并运行”,将显示一条消息,而不是要运行的页面。这是预期行为,因为不能直接从页面设计器运行模式页面。

-
导航回运行时环境并刷新浏览器,或者单击模态页面上的取消以返回到项目任务报表页。
-
在“项目任务报告”页面上,单击任何记录的编辑图标。复查改进的布局,然后单击状态以查看可用状态列表。

做得好!您已经学习了如何在简单的 APEX 应用程序中定制基本报告功能。您已经说明如何创建简单的数据关系并以图形形式显示它们。您还证明,如果 APEX 的强大功能符合客户的最佳利益,那么最终用户甚至可以使用该功能。在下一部分中,您将深入了解日历应用程序。
改进日历(可选)
在此步骤中,您将学习如何增强客户用例的日历。将现有日历页面链接到模态表单页面。默认日历页显示项目,而不是任务名称,仅显示开始日期,客户可能希望查看基于持续时间的事件。我们将更改这些项目来说明基本自定义,以便您开始使用日历。
视频概述
-
在运行时环境中,单击日历。

注意:您可能需要使用日历顶部的箭头向后或向前导航月份来查看显示的数据。
-
在“开发人员”工具栏中,单击 Edit Page 6。或者,导航回 APEX 应用程序构建器浏览器选项卡并手动导航到第 6 页。
我们将更改日历视图中显示的列,并通过更新日历属性来使事件持续时间。
-
在 Page Designer(页面设计器)的呈现面板(左侧窗格)中,单击 Calendar(日历)条目,然后单击 Attributes(属性)选项卡,您将在 Property Editor(属性编辑器)中找到该选项卡作为 Region(区域)选项卡旁边的第二个选项卡。
-
在属性编辑器(右侧窗格)的 Settings(设置)中,然后单击 Display Column(显示列)的下拉列表,然后选择 TASK_NAME,然后从 End Date Column(结束日期列)下拉列表中选择 END_DATE。

-
在页面设计器的工具栏中,单击保存并运行以查看更改。

看看经过修改的日历,您可能意识到,更改为基于持续时间的事件并不像您认为的那样酷。因此,让我们稍加更改,并删除上面添加的“结束日期列”。
-
导航回 APEX 应用程序构建器,在页面设计器中,选择“Page 6(页面 6)”。在“呈现树”(左侧窗格)中,单击“日历”,然后在最右侧的页面选项卡中再次单击属性。
-
在属性编辑器(右侧窗格)中,对于 "Settings"(设置)和 "End Date Column"(结束日期列),选择 - 选择 - 清除 END_DATE 条目,并使您的日历更方便用户使用。

-
在页面设计器中,单击保存并运行以查看增强的日历。

我们下次改进是改变单击日历事件会发生什么。当前,单击或悬停在日历条目上时,它会显示事件详细信息。客户认为,让最终用户直接链接到“项目任务”表单更有用,这样他们就可以轻松地更新详细信息。因此,在接下来的步骤中,我们将链接日历中的项目。
-
导航到 APEX 应用程序构建器,并确保在选择第 6 页的情况下显示页面设计器。
我们将创建视图 / 编辑链接,从日历区域到第 5 页(您在上一个实验室中修改过的项目任务表单页)。
-
在页面设计器的“呈现树”(左侧窗格)中,单击日历,然后单击“属性编辑器”(右侧窗格)中的属性选项卡。在属性设置部分中,找到查看 / 编辑链接条目。单击显示未定义链接的位置。
-
使用下拉列表和选择字段在生成的表单中输入以下信息,然后单击确定:
属性 值 Type 此应用程序中的页 页 5 设置项 > 名称 P5_ID 设置项 > 值 &ID. 清空高速缓存 5 Action (操作) 重置页码 
每当使用新链接更改“任务名称”或“开始日期”时,都会更新日历,这一点非常重要。为了确保相应地更新页面,您需要定义“动态操作”,以便在关闭对话框(模式页面)时刷新日历区域。动态操作是定义客户端交互的声明方式。开发人员指定事件触发的时间、要执行的操作以及要执行的操作组件。
-
在页面设计器的呈现树(左侧窗格)中,右键单击“日历”区域,从菜单中选择创建动态操作。

-
选择动态操作后,在属性编辑器(右侧窗格)内输入以下信息:
组 属性 值 标识 名称 刷新日历 时间 事件 对话框已关闭 选择类型 区域 区域 日历 
-
在“呈现树”(左侧窗格)内的“动态操作的 True”操作下,选择显示。在属性编辑器(右侧窗格)中,输入以下信息:
组 属性 值 标识 Action (操作) 刷新 受影响的元素 选择类型 区域 区域 日历 
-
在页面设计器的工具栏中,单击保存并运行以查看已完成的应用程序。
-
在运行时环境中,从日历中选择事件以查看增强的日历行为。选择日历项并进行更新。在“项目任务”表单页面中,更新“任务名称”和“开始日期”。单击应用更改。

-
确认日历已刷新以显示更新的详细信息。

太好了!您已创建一个 Oracle Autonomous Transaction Database,并将一个典型的业务电子表格转换为一个强大的应用程序。您已经优化了数据并调整了许多默认值,以便仅显示一些自定义功能,客户可以选择更好地利用这些自定义功能来改进应用。请随意运行此演示,直至您无需按照说明轻松完成。
现在,您可以自信地向客户展示 APEX 和 Oracle Autonomous Database 的强大功能!
相关链接
更多学习资源
在 docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use APEX to create an app from a spreadsheet
F50453-01
November 2021
Copyright © 2021, Oracle and/or its affiliates.