从 Excel 2016 中导出 XML 数据

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

重要: 当创建 XML 映射并将 Excel 中的数据导出到 XML 文件时,可以导出的行数存在限制。 从 Excel 导出到 XML 最多可保存 65536 行。 如果文件包含超过 65,536 行,则应执行下列操作之一:

  • 使用 .xlsx 文件格式导出数据。

  • 将文件保存为 XML 电子表格 (.xml),这会丢失映射。

  • 删除 65,536 之后的所有行,然后再次导出以保持映射,但会丢失文件末尾的数据。

从包含的行不超过 65,536 的工作表导出 XML 数据

  1. 在“开发工具”选项卡上的“XML”组中,单击“导出”。

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

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

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

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

  4. 单击“导出”。

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

从包含超过 65,536 行的工作表导出 XML 数据

  1. 从文件中的总行数减去 65537。

    这样可得到行数 x

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

  3. 将工作表导出为 XML 数据文件。

  4. 单击“关闭”,然后重新打开 Excel 工作表。

  5. 删除总计 x 行之后的所有内容,然后导出为 XML 数据文件。

    此过程会使你获得其余行。 此时,你有两个 XML 导出文件,可以将它们合并以创建原始工作表的副本。

将映射的单元格中的 XML 数据导出到 XML 数据文件

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

  1. 按 Ctrl+S 保存文件。

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

  2. 单击“文件”,单击“另存为”,然后选择要用于保存文件的位置。

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

  • 元素是递归结构。

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

  • XML 表包含混合内容。

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

无法导出工作簿中的 XML 映射

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

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

    • maxoccurs 属性不等于 1。

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

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

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

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

此外,如果 XML 映射包含以下 XML 架构构造之一,则无法导入 XML 映射:

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

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

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

Excel 无法保存工作簿,因为它没有任何映射的区域

Excel 无法将工作簿保存在 XML 数据文件中,除非创建一个或多个映射范围。

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

  1. 在“开发工具”选项卡上的“XML”组中,单击“”。

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

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

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

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

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

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

显示“开发工具”选项卡

  1. 单击“文件”,然后单击“选项”。

  2. 单击“自定义功能区”类别。

  3. “主选项卡”下,选中“开发工具”复选框,然后单击“确定”

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

此信息是否有帮助?

谢谢您的反馈!

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

×