导入 XML 数据、将数据映射到工作表中的单元格并更改数据后,通常希望将数据导出或保存到 XML 文件。
重要:
-
在导出 XML 数据之前,需要在功能区上启用“ 开发工具 ”选项卡。 请参阅 显示“开发人员”选项卡。
-
在 Excel 中创建 XML 映射并将数据导出到 XML 数据文件时,可以导出的行数有限制。 从 Excel 导出到 XML 最多可保存 65,536 行。 如果文件超过 65,536 行,Excel 将导出第一个 (#ROWS mod 65537) 行。 例如,如果工作表包含 70,000 行,Excel 将导出 70000 条 mod 65537 = 4464 行。 建议使用 1) 改用 xlsx,或 2) 将文件另存为 XML Spreadsheet 2003 (.xml) ,这将丢失映射,或者 3) 删除 65,536 之后的所有行,然后再次导出,这将保留映射,但会丢失文件末尾的数据。
导出不超过 65,536 行的 XML 数据 ()
-
单击“ 开发人员 > 导出”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
如果出现小型“ 导出 XML ”对话框,请单击要使用的 XML 映射,然后单击“ 确定”。
仅当未选择 XML 表并且工作簿具有多个 XML 映射时,才会显示此对话框。
-
在较大的“导出 XML”对话框的“文件名”框中,为 XML 数据文件键入一个名称。
-
单击“导出”。
注意: 如果工作表的标题或标签与 XML 映射中的 XML 元素名称不同,Excel 将在从工作表中导出或保存 XML 数据时使用 XML 元素名称。
导出超过 65,536 行的 XML 数据 ()
-
从文件中的总行数减去 65537。 这将提供 x 行数。
-
从 Excel 工作表的开头删除 x 行。
-
将工作表导出为 XML 数据文件 (有关过程) 的上一部分。
-
单击“ 关闭” ,但不 保存 工作表。 然后重新打开 Excel 工作表。
-
删除总计 x 之后的所有内容,然后导出为 XML 数据文件, (有关过程) ,请参阅上一部分。
此过程会使你获得其余行。 此时,将有两个 XML 导出文件,可以将它们组合在一起以创建原始工作表的副本。
为了与早期 XML 功能向后兼容,你可能要将文件保存到 XML 数据文件 (.xml),而不是使用“导出”命令。
-
按 Ctrl+S 保存文件。
此步骤可确保在将工作簿保存为 XML 数据文件时不会丢失对工作簿所做的任何更改。
-
单击“ 文件 > 另存为”,然后选择要保存文件的位置。
仅在 Excel 2007 中,单击 Microsoft Office 按钮 ,指向 “另存为”旁边的箭头,然后单击“ 其他格式”。
-
在“文件名”框中,输入 XML 数据文件的名称。
-
在 “保存类型 ”列表中,单击“ XML 数据”,然后单击“ 保存”。
-
如果你收到消息,指出将文件保存为 XML 数据可能会导致功能丢失,请单击“继续”。
-
如果出现小型“ 导出 XML ”对话框,请单击要使用的 XML 映射,然后单击“ 确定”。
仅当未选择 XML 表并且工作簿具有多个 XML 映射时,才会显示此对话框。
-
在较大的“导出 XML”对话框的“文件名”框中,为 XML 数据文件键入一个名称。
-
单击“导出”。
注意: 如果工作表的标题或标签与 XML 映射中的 XML 元素名称不同,Excel 将在从工作表中导出或保存 XML 数据时使用 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 元素映射到工作表:
-
单击“开发工具”>“源”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
在“XML 源”任务窗格中,选择要映射到工作表的元素。
若要选择不相邻的元素,请单击一个元素,按住 Ctrl,然后单击每个元素。
-
将选定的元素拖动到你希望显示它们的工作表位置。
如果尚未向工作簿添加 XML 映射,或者数据不在 XML 表中,请将工作簿保存为 Excel Macro-Enabled 工作簿文件格式 (.xlsm) 。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。