导出 XML 数据

导入XML数据、将数据映射到工作 表中的单元格并更改数据后,通常需要将数据导出或保存到 XML 文件。

重要: 

  • 导出 XML 数据之前,需要启用功能 区上的 "开发工具"选项卡。 请参阅 "显示开发工具"选项卡

  • 创建 XML 映射以及将数据在 Excel 中导出到 XML 数据文件时,可以导出的行数有限制。 从 Excel 导出到 XML 最多可保存 65,536 行。 如果文件包含超过 65,536 行,Excel 将导出第一 (#ROWS mod 65537) 行。 例如,如果工作表包含 70,000 行,Excel 将导出 70000 mod 65537 = 4464 行。 我们的建议是:1) 改为使用 xlsx,或者使用 2) 将文件另存为 XML 电子表格 2003 (.xml) (这将丢失映射)或 3) 删除 65,536 之后的所有行,然后再次导出,这将保留映射,但丢失文件末尾的数据。

导出包含 (不超过 65,536 行的 XML)

  1. 单击"开发人员>导出"。

    如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡

  2. 如果显示一个小的"导出XML"对话框,请单击想要使用的 XML 映射,然后单击"确定"。

    只有当未选择 XML 表并且工作簿具有多个 XML 映射时,才显示此对话框。

  3. 在较大的“导出 XML”对话框的“文件名”框中,为 XML 数据文件键入一个名称。

  4. 单击“导出”。

    注意: 如果工作表的标题或标签与 XML 映射中的 XML 元素名称不同,则当您从工作表导出或保存 XML 数据时,Excel 将使用 XML 元素名称。

导出 XML (超过 65,536 行)

  1. 从文件中的总行数减去 65537。 这将提供 x 行数。

  2. 从 Excel 工作表的开头删除 x 行。

  3. 将工作表导出为 XML 数据文件 (请参阅上一节,了解) 。

  4. 单击 " 关闭 "但不保存 工作表。 然后重新打开 Excel 工作表。

  5. 删除总计 x 之后的所有内容,然后导出为 XML 数据文件 (,请参阅上一部分,了解) 。

    此过程会使你获得其余行。 此时,将拥有两个 XML 导出文件,可以组合这些文件来创建原始工作表的重复项。

为了与早期 XML 功能向后兼容,你可能要将文件保存到 XML 数据文件 (.xml),而不是使用“导出”命令。

  1. 按 Ctrl+S 保存文件。

    此步骤可确保在将工作簿保存为 XML 数据文件时不会丢失对工作簿所做的任何更改。

  2. 单击>另存为",然后选择要保存文件的位置。

    仅在 Excel 2007 中,单击Microsoft Office按钮 Office 按钮图像指向"另存为"旁边的箭头,然后单击"其他格式"。

  3. 在“文件名”框中,输入 XML 数据文件的名称。

  4. 在"另存为类型"列表中,单击"XML 数据",并单击"保存"。

  5. 如果你收到消息,指出将文件保存为 XML 数据可能会导致功能丢失,请单击“继续”。

  6. 如果显示一个小的"导出XML"对话框,请单击想要使用的 XML 映射,然后单击"确定"。

    此对话框仅在未选择 XML 表且工作簿具有多个 XML 映射时显示。

  7. 在较大的“导出 XML”对话框的“文件名”框中,为 XML 数据文件键入一个名称。

  8. 单击“导出”。

注意: 如果工作表的标题或标签与 XML 映射中的 XML 元素名称不同,则当您从工作表导出或保存 XML 数据时,Excel 将使用 XML 元素名称。

导出 XML 数据时,可能会收到类似于下面这些的消息。

可能有多种原因会导致出现此消息:

  • 与此 XML 表关联的 XML 映射具有一个或多个未映射到 XML 表的必需元素。

    XML 源任务窗格中的元素分层列表通过在每个元素左侧图标的右上角放置一个红色星号来指示必需元素。 若要映射必需元素,请将它拖动到要在其中显示它的工作表位置。

  • 元素是递归结构。

    递归结构的一个常见示例是员工和经理的层次结构,其中,相同的 XML 元素嵌套在许多级别中。 虽然你可能已在 XML 源任务窗格中映射了所有元素,但 Excel 不支持深度大于一层的递归结构,因此无法映射所有元素。

  • XML 表包含混合内容。

    当元素具有子元素以及子元素外部的简单文本时,会出现混合内容。 一种常见情况是使用格式标记(例如粗体标记)来标记元素中的数据。 虽然可以显示子元素(如果 Excel 支持),不过文本内容会在导入数据时丢失、在导出数据时不可用,因此无法反复打开。

如果无法保留映射元素与其他元素的关系,则不能导出 XML 映射。 由于以下原因,可能无法保留此关系:

  • 映射的元素的架构定义包含在具有以下属性的序列中:

    • maxoccurs 属性不等于 1。

    • 序列定义了多个直接子元素,或者将另一个合成器作为直接子元素。

  • 具有相同重复父元素的非重复同级元素映射到不同的 XML 表。

  • 多个重复元素映射到同一 XML 表,并且上级元素未定义重复。

  • 来自不同父元素的子元素映射到同一个 XML 表。

此外,如果 XML 映射具有以下 XML 架构构造之一,则不能导出该映射:

  • 列表列表    一个项列表具有第二个项列表。

  • 不正常的数据    XML 表中已在架构中定义的元素出现一次(maxoccurs 属性设置为 1)。 将此类元素添加到 XML 表时,Excel 会使用该元素的多个实例填充表列。

  • 选项    映射的元素是架构构造< 选项> 的一部分。

Excel 无法将工作簿保存到 XML 数据文件,除非创建一个或多个映射区域。

如果向工作簿添加了 XML 映射,请按照以下步骤将 XML 元素映射到工作表:

  1. 单击“开发工具”>“”。

    “开发工具”选项卡上的“XML”命令

    如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡

  2. 在“XML 源”任务窗格中,选择要映射到工作表的元素。

    若要选择不相邻的元素,请单击一个元素,按住 Ctrl,然后单击每个元素。

  3. 将选定的元素拖动到你希望显示它们的工作表位置。

如果尚未向工作簿添加 XML 映射,或者数据不在 XML 表中,请以 Excel Macro-Enabled 工作簿文件格式 (.xlsm) 。

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

Excel 中的 XML 概述

在 XML 映射中将 XML 元素映射到单元格

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×