如果以前 创建了 XML 映射,则可以使用它将 XML 数据导入到映射的单元格中,但也有几种方法和命令用于导入没有 XML 映射的 XML 数据。
如果你有 XML 映射,则执行此操作可将 XML 数据导入映射的单元格:
-
在“XML 映射”中,选择其中一个映射的单元格。
-
单击“ 开发人员 > 导入”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
在“ 导入 XML ”对话框中,找到并选择要导入的 XML 数据文件 (.xml) ,然后单击“ 导入”。
导入 XML 数据的其他方法
有关问题的详细信息,请参阅本文末尾 的导入 XML 数据的常见问题 。
将 XML 数据文件导入为 XML 表
-
单击“ 开发人员 > 导入”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
在“ 导入 XML ”对话框中,找到并选择要导入的 XML 数据文件 (.xml) ,然后单击“ 导入”。
如果 XML 数据文件未引用架构,Excel 会从 XML 数据文件推断架构。
-
在“ 导入数据 ”对话框中,执行以下操作之一:
-
选择 现有工作表中的 XML 表 ,将 XML 数据文件的内容导入工作表中指定单元格位置的 XML 表中。
-
在新工作表中选择“XML 表”,将文件的内容导入到从单元格 A1 开始的新工作表中的 XML 表中。 XML 数据文件的架构显示在“ XML 源 ”任务窗格中。
-
-
如果 XML 数据文件未引用架构,则 Excel 会从 XML 数据文件推断架构。
-
若要控制 XML 数据 (的行为,例如数据绑定、格式和布局) ,请单击“ 属性”,显示“ XML 映射属性 ”对话框。 例如,默认情况下,导入数据时,将覆盖映射区域中的现有数据,但可以对此进行更改。
导入多个 XML 数据文件
-
选择一个映射单元格,将多个 XML 文件导入到一组映射单元格中。
如果要将多个 XML 文件导入到多个映射单元格集中,请单击工作表上未映射的任意位置的单元格。
-
单击“ 开发人员 > 导入”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
在“ 导入 XML ”对话框中,找到并选择要导入的 XML 数据文件 (.xml) 。
-
如果文件是连续的,请按 Shift,然后单击列表中的第一个和最后一个文件。 XML 文件中的所有数据都将导入并追加到映射的单元格中。
-
如果文件不连续,请按住 Ctrl,然后单击列表中要导入的每个文件。
-
-
单击“导入”。
如果选择了不连续的文件,将显示“ 导入 <文件名>.xml ”对话框。 选择对应于要为每个文件导入的 XML 数据文件的 XML 映射。
若要对所有尚未导入的选定文件使用单个映射,请 对此架构的所有选定文件选择“使用此 XML 映射”。
将多个 XML 数据文件作为外部数据导入
若要导入使用相同命名空间但不同的 XML 架构的多个 XML 文件,可以使用 From XML 数据导入 命令。 Excel 为导入的每个 XML 数据文件创建唯一的 XML 映射。
注意: 如果要导入多个未定义命名空间的 XML 文件,则这些 XML 文件将被视为使用同一命名空间。
-
如果将 Excel 与Microsoft 365 订阅配合使用,请单击“数据”>“从文件获取数据 > > XML”。
如果使用的是 Excel 2016 或更早版本,请单击“从其他源 > 数据 > 从 XML 数据导入”。
-
转到具有要导入的 XML 数据文件 (.xml) 的驱动器、文件夹或 Internet 位置。
-
选择文件,然后单击“打开”。
-
在“ 导入数据 ”对话框中,执行以下操作之一:
-
现有工作表中的 XML 表 文件的内容将导入到新工作表中的新 XML 表中。 如果 XML 数据文件未引用架构,Excel 会从 XML 数据文件推断架构。
-
现有工作表 XML 数据导入到二维表中,其中行和列将 XML 标记显示为列标题,并在列标题下方的行中显示数据。 根节点) (的第一个元素与标题一样使用,并显示在指定的单元格位置中。 其余标记按字母顺序跨第二行排序。 在这种情况下,Excel 不会推断架构,并且无法使用 XML 映射。
-
新建工作表 Excel 将新工作表添加到工作簿,并自动将 XML 数据放入新工作表的左上角。 如果 XML 数据文件未引用架构,Excel 会从 XML 数据文件推断架构。
-
-
若要控制 XML 数据的行为(如数据绑定、格式和布局),请单击“ 属性”,显示“ XML 映射属性 ”对话框。 例如,默认情况下,导入数据时会覆盖映射区域中的现有数据,但可以对此进行更改。
打开 XML 数据文件以导入其数据
-
单击“文件”>“打开”。
-
在“ 打开 ”对话框中,单击包含要打开的文件的驱动器、文件夹或 Internet 位置。
-
选择文件,然后单击“打开”。
-
如果出现“ 导入 XML ”对话框,则打开的文件引用一个或多个可扩展样式表语言转换 (XSLT) 样式表,因此可以单击以下选项之一:
-
在不应用样式表的情况下打开文件 XML 数据导入到二维表中,其中行和列将 XML 标记显示为列标题,并在列标题下方的行中显示数据。 根节点) (的第一个元素与标题一样使用,并显示在指定的单元格位置中。 其余标记按字母顺序跨第二行排序。 在这种情况下,Excel 不会推断架构,并且无法使用 XML 映射。
-
打开应用了以下样式表的文件, (选择一个) 选择要应用的样式表,然后单击“ 确定”。 XML 数据根据所选的样式表设置格式。
注意: XML 数据在 Excel 中以只读方式打开,这样就不会意外地将原始源文件保存为 Excel Macro-Enabled 工作簿文件格式 (.xlsm) 。 在这种情况下,Excel 不会推断架构,并且无法使用 XML 映射。
-
-
如果出现“ 打开 XML ”对话框,则 XML 文件没有任何 XSLT 样式表引用。 若要打开该文件,请单击以下选项之一:
-
单击“ 作为 XML 表 ”,在新工作簿中创建 XML 表。
文件的内容将导入 XML 表中。 如果 XML 数据文件未引用架构,Excel 会从 XML 数据文件推断架构。
-
单击“ 作为只读工作簿”。
XML 数据导入到二维表中,其中行和列将 XML 标记显示为列标题,并在列标题下方的行中显示数据。 根节点) (的第一个元素与标题一样使用,并显示在指定的单元格位置中。 其余标记按字母顺序跨第二行排序。 在这种情况下,Excel 不会推断架构,并且无法使用 XML 映射。
XML 数据在 Excel 中以只读方式打开,这样就不会意外地将原始源文件保存为 Excel Macro-Enabled 工作簿文件格式 (.xlsm) 。 在这种情况下,Excel 不会推断架构,并且无法使用 XML 映射。
-
单击“ 使用 XML 源”任务窗格。
XML 数据文件的架构显示在“ XML 源 ”任务窗格中。 然后,可以将架构的元素拖动到工作表,以将这些元素映射到工作表。
如果 XML 数据文件未引用架构,Excel 会从 XML 数据文件推断架构。
-
导入 XML 数据的常见问题
当 Excel 无法根据 XML 映射验证数据时,它将显示“XML 导入错误 ”对话框。 在此对话框中,单击“ 详细信息 ”以获取有关每个错误的其他信息。 下表列出了一些常见的导入错误:
错误 |
发生了什么事 |
架构验证失败 |
在“XML 映射属性”对话框中单击“针对导入和导出的架构验证数据”时,数据已导入,但未针对指定的 XML 映射验证数据。 |
某些数据已作为文本导入 |
导入的部分或全部数据已从其声明的数据类型转换为文本。 若要在计算中使用此数据,需要将数据从文本转换为数字或日期。 例如,转换为文本的日期值在将转换为 Date 数据类型之前,在 YEAR 函数中无法按预期工作。 当出现如下情况时,Excel 会将数据转换为文本:
|
XML 分析错误 |
XML 分析程序无法打开指定的 XML 文件。 请确保 XML 文件没有语法错误,并且 XML 格式正确。 |
找不到与数据对应的 XML 映射 |
当您选择要导入的多个 XML 数据文件,并且 Excel 找不到其中一个文件的匹配 XML 映射时,可能会出现此问题。 对于对话框标题栏中名为 的文件,请先导入相应的架构,然后再次尝试导入该文件。 |
无法调整 XML 表的大小以容纳数据 |
尝试通过将数据导入或追加到 XML 表来添加行,但表没有扩展空间。 XML 表只能从下到下展开。 例如,XML 表下方可能有一个对象(如图片或其他表格)阻止 XML 表展开。 或者,如果 XML 表要展开,它将超过 Excel 行限制 1,048,576。 若要解决此问题,请重新排列工作表上的表和对象,以允许 XML 表从下向下展开。 |
指定的 XML 文件不引用架构
尝试打开的 XML 文件不引用 XML 架构。 若要处理文件中的 XML 数据,Excel 需要基于 XML 文件内容的架构。 如果该架构不正确或不足,请将其从工作簿中删除。 然后创建 XML 架构文件并编辑 XML 数据文件,使 XML 数据文件引用架构。 有关详细信息,请参阅 将 XML 元素映射到 XML 映射中的单元格。
注意: 不能将 Excel 推断的架构导出为单独的 XML 架构数据文件, (.xsd) 。 虽然有用于创建 XML 架构文件的 XML 架构编辑器和其他方法,但是您可能无法方便地利用它们或不了解如何使用它们。
按照以下步骤从工作簿中删除 Excel 创建的架构:
-
单击“开发工具”>“源”。
如果看不到“开发工具”选项卡上,请参阅显示“开发工具”选项卡。
-
在“XML 源”任务窗格中,单击“XML 映射”。
-
在“ XML 映射 ”对话框中,单击创建的 XML Map Excel,然后单击“ 删除”。
导入使用相同命名空间但不同架构的多个 XML 文件无法按预期工作
使用多个 XML 数据文件和 XML 架构时,通常会为每个架构创建一个 XML 映射,映射所需的元素,然后将每个 XML 数据文件导入相应的 XML 映射。 使用 Import 命令打开具有相同命名空间的多个 XML 文件,只能使用一个 XML 架构。 使用此命令打开使用相同命名空间但不同架构的多个 XML 文件时,可能会获得意外结果。 例如,数据可能会被覆盖,或者文件无法打开。
若要导入使用相同命名空间但不同的 XML 架构的多个 XML 文件,请尝试使用 From XML 数据导入 命令 (单击“ 数据 > 来自其他源) 。 此命令允许具有相同命名空间的多个 XML 文件使用多个 XML 架构。 Excel 为要导入的每个 XML 数据文件创建唯一的 XML 映射。
注意: 如果要导入多个未定义命名空间的 XML 文件,则这些 XML 文件将被视为使用同一命名空间。
显示“开发工具”选项卡
如果看不到“开发工具”选项卡,请通过执行下列操作来显示该选项卡:
-
单击“文件”>“选项”。
-
单击“自定义功能区”类别。
-
在“主选项卡”下,勾选“开发工具”框,然后单击“确定”。