我遇到了一个excel XML导出问题。为了简化问题,我会采取以下步骤:
1.Data>>来自XML数据导入。
实际上,我想在对数据进行一些修改后再次将其导出回XML文件(那些第一行变量永远不会改变)
2.然后点击开发>>出口。它显示“无法保存或导出XML数据。此工作簿中的XML映射不可导出”。 (即使我对数据没有任何修改)。 我已经在YouTube上看了几个导出教程视频,但似乎没有解决我的问题。我还没有找到问题。
答案 0 :(得分:8)
通常的原因是Excel不理解非常复杂的XML。
如果无法保留映射元素与其他元素的关系,则无法导出XML映射。由于以下原因,可能无法保留此关系:
映射元素的模式定义包含在具有以下属性的序列中:
- maxoccurs属性不等于1.
- 序列中定义了多个直接子元素,或者将另一个合成器作为直接子元素。
- 具有相同重复父元素的非重复同级元素将映射到不同的XML表。
- 多个重复元素映射到同一个XML表,并且重复不是由祖先元素定义的。
- 来自不同父项的子元素映射到同一XML表。
此外,如果XML映射包含以下XML架构构造之一,则无法导出XML映射:
列表清单
- 一个项目列表包含第二个项目列表。
非规范化数据
- XML表包含在架构中定义的元素,该元素出现一次(maxoccurs属性设置为1)。将这样的元素添加到XML表时,Excel会使用该元素的多个实例填充表列。
选择
- 映射元素是架构构造的一部分。
答案 1 :(得分:0)
我遇到了类似的问题。这是一个简单的工作表,仅包含 8 列,但 XML 导出不断抛出此错误。我发现如果元素在 XML 模式中出现的顺序与列在工作表中出现的顺序不匹配,我就会收到这个错误。我将工作表中的列重新排列为与架构中元素的顺序相同,并且导出成功。
答案 2 :(得分:0)
在很多网页上都有关于如何导出为 xml 的说明(例如:https://www.excel-easy.com/examples/xml.html)。当我为预先存在的数据创建架构时,我遇到了以下问题。
转换为架构的 XML 应如下所示(我不知道它是否需要两个“示例行”,但它有助于记住外部标记):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<singleOuterWrapperTag>
<rowTag>
<columnA>Data Type (numeric, text)</columnA>
<columnB>Data Type</columnB>
</rowTag>
<rowTag>
<columnA>Data Type (numeric, text)</columnA>
<columnB>Data Type</columnB>
</rowTag>
</singleOuterWrapperTag>
答案 3 :(得分:0)
所以我会在这里贡献我的解决方案。当然,它可能不是你的,但它仍然是有用的信息,我相信它会帮助某人。
我发现,在我导入 XML 实例而不是架构的情况下,Excel 会错误地(不是我想要的)从该实例推断架构。这是因为我想要重复的记录在我用来创建地图的 XML 中只有一个实例。 (我在这里创建了一个模板以供将来导入,还没有尝试导入现有数据,所以我只有一个包含一些虚拟数据的记录。)我只是复制了记录在其第一个实例下面的虚拟数据,以便有是两张唱片......一切都是金色的。导入和导出突然起作用了。
给那些和我在同一条船上的人一个便条。