导出 XML 数据

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

重要: 

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

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

导出 XML 数据(不超过65536行)

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

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

  2. 如果出现小的 "导出 XML " 对话框,请单击要使用的 XML 映射,然后单击"确定"

    仅当未选择 XML 表,并且工作簿包含多个 XML 映射时,此对话框才会出现。

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

  4. 单击“导出”。

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

导出 XML 数据(适用于超过65536行)

  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 映射:

  • 列表列表    一个项目列表中包含第二个项目列表。

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

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

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

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

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

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

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

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

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

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

如果尚未向工作簿添加 XML 映射,或者如果数据不在 XML 表中,请将工作簿保存为启用宏的 Excel 工作簿文件格式(.xlsm)。

需要更多帮助吗?

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

另请参阅

Excel 中的 XML 概述

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

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

此信息是否有帮助?

谢谢您的反馈!

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

×