Excel将字段添加到Xml映射

我在Excel 2010工作表上有一个XML映射,我定期从XML文件的内容中刷新。 我最近添加了一个新的字段到XML数据,并希望这显示在我的XML地图上。

我只是希望能够添加新的字段,但它看起来虽然不得不重新导入整个结构,我不想这样做,因为它需要重新开发许多自定义格式化。

任何帮助赞赏。

不幸的是,目前在Excel中的XML对象模型中没有简单的“刷新”方法。 用于Excel 2003的XML工具箱曾经能够做到这一点,但我不确定这是否仍然在Excel 2010中运行(值得一试)。 另一种方法是编写自己的VBA代码,将您的“新”模式导入到一个新的映射中,然后查看现有的“旧”模式的元素映射,然后将这些映射重新映射到“新”模式,最后删除“老”一个。 听起来有点毛茸茸我知道,但如果你的模式没有明显改变,那么它可能是答案。

有一个比这更不优雅的方法,它涉及直接更改工作簿底层XML中的模式。 如果看一下xl文件夹下的工作簿结构,你会发现有一个名为xmlMaps.xml的文件,在这个文件里面是你的模式副本 – 然后你可以直接编辑它(添加新元素等)然后当您在Excel中再次打开新工作簿时,这些新字段将显示在工作簿中,从而保持原始单元格格式不变。

我将xlsx解压缩为zip,并且能够手动进行更改,而无需按照本网站上的说明再次删除和添加映射: http : //davidovitz.blogspot.com/2010/05/howto-refresh-xml -schemafunction于excel.html

这不是OP所要求的,但是在我的情况下,所以我将其添加为一个可能的解决scheme(使用Office 2013)

  1. 右键单击您的function区并启用开发人员工具

在这里输入图像说明

  1. 转到function区上的新“开发者工具”部分,然后点击来源

在这里输入图像说明

  1. 这将打开一个右侧飞出。 粗体元素当前映射到您的列。 注意通过点击它们映射的地方。 在我的情况下,第一个映射到A列的元素非常简单,然后右键单击粗体,然后取消映射。

在这里输入图像说明

  1. 单击popup底部的XML地图button

  2. 点击添加并导航到一个文件或input一个URL

在这里输入图像描述

  1. 如果你想要删除旧的映射

  2. 突出显示所有新元素,然后右键单击以分配新映射。 使用您之前记下的注释来做到这一点。 再一次,我的情况是非常简单的,因为列只是附加到最后。 如果在中间添加了列,则需要将它们重新映射到表的末尾。