使用 InfoPath 和 Excel 创建资产跟踪器解决方案

应用对象
InfoPath 2010 InfoPath 2013

Microsoft Office InfoPath 允许创建用于数据输入和收集的表单模板。 Microsoft Office Excel 2007 使用户能够计算、绘制和分析数据。 通过使用这两个程序和 XML,可以轻松创建一个简单但有效的无代码业务解决方案,用于跟踪公司中的资产。

67fe553d-e91a-4874-9214-7d92ec819a30

本文内容

创建资产跟踪器解决方案简介

可以在 InfoPath 和 Excel 之间交换 XML 数据。 尽管 Infopath Export 命令是将表单数据发送到 Excel 的一种简单直接的方法,但你可以采用另一种方法来提供更大的灵活性。 通过在 Excel 中显式映射 InfoPath XML 架构文件 (.xsd) ,然后将 InfoPath 表单文件 (.xml) 导入 Excel,可以自定义数据的布局,并更好地利用 Excel 中的功能来帮助更高效地管理和分析数据。

在本文中,我们将使用 InfoPath 资产跟踪器示例表单模板来说明如何使 InfoPath、XML 和 Excel 协同工作。 假设每年,你的组织都会清点每个员工的办公室中的资产。 然后,运行 Excel 报表以帮助决定如何分配明年的设备预算。 下图概述了如何收集、跟踪和报告部门中的资产数据。

82780994-6652-4d51-8fd5-8ca7a74bc252

1. 创建资产跟踪器表单模板。

2. 架构文件映射到 Excel 表,并自定义表布局。

3. 将创建空白数据透视表和数据透视图摘要报表。

4. 资产跟踪器窗体用于从用户收集数据。

5. 所有表单数据将导出到 Excel 表中,并刷新数据透视表和数据透视图报表。

此解决方案涉及以下用户角色和产品:

ed1cd8b7-2614-45ce-a934-d79533754a58 = 必需 ca38b0e2-3eeb-4688-8fe2-a9786010a1c5 = 不需要

软件要求
角色 Office InfoPath 2007 Office Outlook 2007 Office Excel 2007
解决方案Designer ed1cd8b7-2614-45ce-a934-d79533754a58 ed1cd8b7-2614-45ce-a934-d79533754a58 ed1cd8b7-2614-45ce-a934-d79533754a58
决策者 ed1cd8b7-2614-45ce-a934-d79533754a58 ed1cd8b7-2614-45ce-a934-d79533754a58 ed1cd8b7-2614-45ce-a934-d79533754a58
Employees ed1cd8b7-2614-45ce-a934-d79533754a58 ed1cd8b7-2614-45ce-a934-d79533754a58 ca38b0e2-3eeb-4688-8fe2-a9786010a1c5

返回页首

步骤 1:自定义资产跟踪器表单模板

使用 InfoPath 中包含的资产跟踪器表单模板,可以收集有关员工办公室中每个资产、员工所属的部门、资产类别以及每个资产的详细信息。 在此解决方案中,表单设计者使用 Office Outlook 2007 将表单模板提交到决策者的电子邮件帐户。

fdbc780c-7ac5-44b9-a5fc-06088bef25d3

任务 1:打开并自定义资产跟踪器表单模板

由于如果表单模板具有包含链接图像的富文本框控件,则无法将表单模板发布到电子邮件收件人列表,因此需要对资产跟踪器示例模板表单进行一些小更改。

  1. 在“ 文件 ”菜单上,单击“ 设计表单模板”。
  2. 在“ 设计表单模板 ”对话框中的“ 打开表单模板”下,单击“ 自定义示例”。
  3. “入门”对话框中,单击“示例 - 资产跟踪器”,然后在“窗体任务”下,单击“设计此窗体”。
  4. 右键单击 assetNotes 控件,指向 RTF Box 属性,单击“显示”选项卡,然后在“可用格式”下清除“链接图像检查框。

任务 2:定义“提交”选项

下一个任务是定义“提交”选项,以便员工可以将唯一命名的表单文件 (.xml) 作为附加文件提交到决策者的电子邮件帐户。

  1. “工具 ”菜单上,单击“ 提交选项”。

  2. 在“提交选项”对话框中,选择“允许用户检查提交此表单”框。

  3. 单击“ 将表单数据发送到单个目标”,然后在列表中单击“ 电子邮件”。

  4. 单击“添加”。
    此时会显示 “数据连接向导 ”。

  5. 在“ To ”框中,键入将接收所有已提交表单的决策者的别名。

  6. 若要指定唯一的主题行,请在“ 主题 ”框中:

    • 单击“ 插入公式6aeee2be-ff9c-4a64-a987-2db942c81046 ”。
    • 键入以下公式:

concat(my:employee/my:employeeName, my:employee/my:employeeDepartment)

  • 单击“ 验证公式”,然后单击“ 确定 ”两次。
  • 在“ 简介 ”框中,键入相应的消息或添加此解决方案的重要说明。

  • 单击“下一步”。

  • 在向导的下一页上,单击“将表单数据作为附件发送”,然后选择“附加表单模板”,确保用户可以打开表单检查框。
    这有助于确保员工有权访问表单模板文件 (.xsn) ,以防他们无法从网络位置访问它。

  • 若要在“附件名称”框中 (.xml) 为每个表单文件指定唯一 文件名,请执行以下操作

    1. 单击“ 插入公式6aeee2be-ff9c-4a64-a987-2db942c81046 ”。
    2. 键入与 主题 行上的公式相同的公式:

concat(my:employee/my:employeeName, my:employee/my:employeeDepartment)

  1. 单击“ 验证公式”,然后单击“ 确定 ”两次。
  • 单击“下一步”。
  • 在向导的下一页上,在 “输入此数据连接的名称 ”框中,键入此提交数据连接的描述性名称。
  • 验证“ 摘要 ”部分中的信息是否正确,然后单击“ 完成”。
  • 将表单保存到决策者和所有员工可访问的公用网络文件夹。

返回页首

步骤 2:映射架构文件并在 Excel 中自定义表布局

在 InfoPath 和 Excel 之间设置连接需要三项任务:提取资产跟踪器表单模板的架构文件、在 Excel 中映射此架构文件,以及自定义 Excel 表的默认布局,其中包含所有导入的 XML 表单数据文件。

任务 1:从 InfoPath 中提取架构文件

  1. 在 InfoPath 中,打开资产跟踪器表单模板文件。
  2. “工具 ”菜单上,单击“ 设计此窗体”。
  3. 在“文件”菜单上,单击“另存为源Files”。
  4. 在“ 浏览文件夹 ”对话框中,选择要在其中存储架构文件的文件夹或创建一个新文件夹。

请注意保存所有源文件的文件夹的位置以及架构文件的名称(在本例中为 myschema.xsd),其中包含 XML 数据表单的架构定义。

任务 2:映射 Excel 中的 InfoPath 架构文件

  1. 创建新的 Excel 文件,然后将其保存到决策者可访问的位置。

  2. 在 Excel 中,如果“ 开发人员 ”选项卡不可见,请执行以下操作:

    1. 单击 Microsoft Office 按钮图像 ,然后单击 “Excel 选项”。

    2. “常用”类别的“使用 Excel 的顶部选项”下,选择“功能区检查”框中的“显示开发人员”选项卡,然后单击“确定”。

      注意

      功能区是 Microsoft Office Fluent 用户界面的一个组件。

  3. 在“开发工具”选项卡上的“XML”组中,单击“”。
    b0126db2-1762-47d2-b28d-d0b5a4704f2b
    将显示 “XML 源 ”任务窗格。

  4. 单击“ XML 映射”,然后在“ XML 映射 ”对话框中,单击“ 添加”。

  5. 在运行 Windows Vista 的计算机上 

    1. “地址”栏中,单击包含在“任务 1:从 InfoPath 中提取架构文件”部分的步骤 2 中创建的 myschema.xsd 文件的驱动器或文件夹。
      在运行 Microsoft Windows XP 的计算机上 
    2. “查找范围”列表中,单击包含你在“任务 1:从 InfoPath 中提取架构文件”部分的步骤 2 中创建的 myschema.xsd 文件的驱动器或文件夹。
  6. 单击该文件,然后单击“打开”。

  7. 出现“ 多根根 ”对话框时,单击 myschema.xsd 文件中定义的 assetTracking 根节点,然后单击“ 确定”。
    XML 映射显示在“ XML 源 ”任务窗格中。

  8. ns1:asset node 元素(一个重复的 XML 元素)拖到要显示 Excel 表格的工作表位置。
    2f6daefb-15c6-456e-98af-2d8f35cf55d8

任务 3:自定义 Excel 表格的布局

默认情况下,Excel 使用 XML 元素名称作为表的列标题。 但是,可以通过编辑列标题单元格来更改列标题。

  1. 若要修改默认列标题,请保持选中 Excel 表,找到以下字符串前缀 ns1:asset,并将其删除。 例如,将 ns1:assetID 更改为 ID
    30be15fb-1dae-4b18-ac82-1cf6c0d54501
  2. 若要调整列宽,请单击“ 全选” 按钮,然后双击任意列标题边界。

返回页首

步骤 3:创建数据透视表和数据透视图摘要报表

决策者使用数据透视表和数据透视图来分析、浏览和可视化摘要数据。 通过提前设置要在此方案中使用的数据透视表和数据透视图报表,决策者稍后使用已完成的数据运行报表将是一个简单的操作。

  1. 在 Excel 表中选择一个单元格。
  2. 在“ 插入 ”选项卡上的“ ”组中,单击“ 数据透视表”,然后单击“ 数据透视表”。
    44cf456b-ce31-4d6d-906c-1d4bf56bdd7f
    Excel 会显示“创建数据透视表”对话框。
  3. 若要将数据透视表置于单元格 A1 开始的新工作表中,请单击“ 新建工作表”,然后单击“ 确定”。
    Excel 将空数据透视表添加到指定位置并显示数据透视表 字段列表 ,以便您可以添加字段、创建布局和自定义数据透视表。
  4. 若要创建数据的跨表格报表,请将 ID 字段拖到“值”区域,将 “部门” 字段拖到“列标签”区域,将 “类别” 字段拖到“行标签”区域,将 “AssignedTo” 字段拖到“报表筛选器”区域。
  5. 单击数据透视表。
  6. 在“ 插入 ”选项卡上的“ 图表 ”组中,单击 形图类型。
    2d8280c1-e7fa-43b4-9a36-528a490a0a1d
  7. 在“ 二维条形图”下,选择“ 簇状条形图”。
  8. 根据需要调整数据透视图报表的大小和位置。

708254af-947f-4e1d-9d96-377ef1c49588

返回页首

步骤 4:收集用户的资产信息

现在,表单模板已准备好由所有员工填写,你需要发布表单并将其发送给每个员工。 当每个员工提交已完成的表单时,它将作为 XML 数据文件发送, (.xml) 电子邮件中附加到决策者的电子邮件帐户。 然后,决策者可以将所有邮件移动到 Outlook 中的专用 InfoPath 文件夹。 在这种情况下,建议为所有用户分配一个特定的时间段来完成表单,以便决策者可以在达到数据收集截止时间时使用所有已完成的表单运行报表。

edf340b3-b578-44ef-94a3-f149195c9690

  1. 在 InfoPath 中,打开在步骤 1:设计资产跟踪器示例表单模板中保存的表单模板 (.xsn)
  2. “工具 ”菜单上,单击“ 设计此窗体”。
  3. 在“ 文件 ”菜单上,单击“ 发布”。
  4. 在“发布向导”中,单击“ 收件人列表”,然后单击“ 下一步”。
  5. 在向导的下一页上,在“ 表单模板名称 ”框中,键入表单模板的名称,然后单击“ 下一步”。 表单模板名称将显示在发送给电子邮件收件人的邮件的主题标题中。
  6. (可选)在向导的下一页上,可以创建将显示在 Outlook 文件夹中的列,以帮助组织电子邮件。
  7. 单击“下一步”。
  8. 单击“发布”。
  9. 发布向导完成表单模板的发布后,将打开包含表单的电子邮件。
  10. 填写邮件,键入员工姓名或使用通讯组列表,然后发送邮件。

在 Outlook 中,决策者可以通过以下两种方式之一组织所有提交的 XML 表单:

  • 如果首次打开邮件时显示 “InfoPath 表单文件夹 ”消息框,请单击“ 创建表单文件夹”。
  • 在 Outlook 中创建一个规则,将所有相关的 InfoPath 表单移动到 InfoPath 文件夹。
    有关详细信息,请参阅 使用规则管理邮件

返回页首

步骤 5:将表单导入 Excel

由于已创建 Excel 工作簿步骤 2 和 3,因此决策者导出和查看表单数据非常简单。 决策者只需从 Outlook 导出 (.xml) xml 文件,将所有表单文件 (.xml) 导入 Excel 工作簿,然后刷新数据。

任务 1:将窗体从 Outlook 导出到 Windows 文件夹

  1. 在 Outlook 中,选择包含你从员工那里收到的所有表单的文件夹,然后按 Ctrl+A 选择所有表单电子邮件。
  2. 右键单击所选内容,指向 “InfoPath 操作”,然后单击“ 导出窗体”。
  3. 在“ 导出窗体 ”对话框中,选择一个文件夹,然后按 “确定”。

任务 2:将表单导入 Excel

  1. 步骤 2:映射架构文件和自定义 Excel 中的表格布局中创建的 Excel 工作簿中,选择 Excel 表中映射的单元格之一。

  2. 在“ 开发工具 ”选项卡上的 “XML ”组中,单击“ 导入”。
    b0126db2-1762-47d2-b28d-d0b5a4704f2b
    将显示“ 导入 XML ”对话框。

  3. 在运行 Windows Vista 的计算机上 

  4. 执行下列操作之一:

    • 如果文件是连续的,请按 Shift,然后单击列表中的第一个和最后一个文件。
    • 如果文件不连续,请按 Ctrl,然后单击列表中要导入的每个文件。
  5. 单击“导入”。
    1c24d4f3-9132-4a1f-a685-89780fda43be

默认情况下,Excel 会覆盖映射单元格中的任何现有数据,这是此业务解决方案所需的最终结果。 但是,例如,决策者可以多次导入数据,以在计划的截止时间之前衡量进度。

注意

在 Excel 中,还可以使用“开发工具”选项卡上的“将新数据追加到现有 XML 表”选项 (来追加数据,在 XML 组中单击“映射属性) ”,这可能适用于其他解决方案。

有关详细信息,请参阅 连接到 XML 文件

任务 3:刷新数据透视表和数据透视图

  • 单击数据透视表中的单元格。
  • 在“ 选项 ”选项卡上的“ 数据 ”组中,单击“ 全部刷新”旁边的箭头,然后单击“ 刷新”。
    1c32e782-44a9-44be-84e4-457b95978b53

409c1669-3f65-477e-b140-b9551552e33e

Excel 工作簿现在包含您需要的所有数据和摘要报表,以帮助分配明年的设备预算。 当然,如有必要,您可以在 Excel 工作簿中执行进一步分析,例如对数据进行排序、筛选或有条件地设置格式。

返回页首

最后的想法:考虑使用 SharePoint 列表或 Access 数据库

作为替代方法,请考虑使用 SharePoint 列表或 Access 数据库(而不是 XML)在 InfoPath 和 Excel 之间传输数据。

使用 SharePoint 列表

在 InfoPath 中,可以轻松地将 SharePoint 列表用作只读数据源。 可以执行以下两项操作之一:

  • 从 SharePoint 列表中,将数据导出到 Excel,这将在 Excel 中自动创建数据连接。
  • 在 Excel 中,显式创建与 SharePoint 列表的数据连接。

创建数据连接后,可以在 Excel 中刷新数据以检索最新数据。

您可以使用 SharePoint 列表添加和更新数据,使用 InfoPath 窗体显示列表中的项目 (例如,最好在垂直) 显示复杂项或长项目,然后使用 Excel 进一步分析数据。

2259f6b5-4448-4f9d-a119-5955adbc90d0

1. 显示单个项目,以便在 InfoPath 中轻松查看。

2. 在 SharePoint 列表中添加和更新数据。

3. 使用 Excel 刷新和报告最新。

有关详细信息,请参阅 向 SharePoint 文档库或列表添加数据连接

使用 Access 数据库

在 InfoPath 中,可以创建与 Access 数据库的读/写连接。 在 Excel 中,可以显式创建与 Access 数据库的数据连接,可以刷新该连接以检索最新数据。 甚至可以将连接定义为在工作簿打开时自动刷新,或者定期刷新(例如每 5 分钟刷新一次)。

可以使用 Access 数据库作为 InfoPath 和 Excel 之间的中介。 将 InfoPath 表单提交到 Access 时,会更新 Access 数据库。 在 Excel 中刷新数据连接时,将从 Access 检索更新的数据。 实际上,你正在将数据从 InfoPath 间接提交到 Excel 工作簿。

b9ec27ca-4247-422d-a1b3-5811cbe87225

1. 显示窗体并将其提交到 Access 数据库。

2. 将数据存储在 Access 数据库中。

3. 使用 Excel 刷新和报告最新。

有关详细信息,请参阅 设计基于 Microsoft Access 数据库的表单模板

提示

你知道可以直接从 Access 创建 InfoPath 表单吗? 如果用户的计算机上安装了 Outlook 2007 或 2010 以及 InfoPath 2007 或 2010,则可以使用“ 从电子邮件 收集数据”向导直接从 Access 收集数据。 有关详细信息,请参阅 Access 帮助主题 :将通过电子邮件收集的数据添加到 Access 数据库

返回页首