我在Excel 2010工作表上有一个XML地图,我定期从XML文件的内容中刷新。我最近为XML数据添加了一个新字段,并希望这个字段显示在我的XML映射中。Excel将字段添加到Xml地图
我只是希望能够添加新的字段,但它出现,尽管不得不再次导入整个结构,我不想这样做,因为它需要重新开发许多自定义格式化。
任何帮助表示赞赏。
我在Excel 2010工作表上有一个XML地图,我定期从XML文件的内容中刷新。我最近为XML数据添加了一个新字段,并希望这个字段显示在我的XML映射中。Excel将字段添加到Xml地图
我只是希望能够添加新的字段,但它出现,尽管不得不再次导入整个结构,我不想这样做,因为它需要重新开发许多自定义格式化。
任何帮助表示赞赏。
不幸的是,目前在Excel中的XML对象模型中没有简单的“刷新”方法。 XML Toolbox for Excel 2003曾经能够做到这一点,但我不确定这是否仍然在Excel 2010中运行(值得一试)。另一种方法是编写你自己的VBA代码,将你的“新”模式导入到一个新的映射中,然后查看现有的“旧”模式的元素映射,然后将这些映射重新映射到“新”模式,最后删除“老”一个。听起来有点毛茸茸的我知道,但如果你的模式没有明显改变,那么它可能是答案。
有一种比这更不优雅的方法,它涉及直接更改工作簿底层XML中的模式。如果查看xl
文件夹下的工作簿结构,您会看到有一个名为xmlMaps.xml
的文件,并且此文件内部将是您的模式副本 - 然后您可以直接编辑该文件(添加新元素等)和然后,当您在Excel中再次打开新工作簿时,新字段将显示出来供工作簿使用,从而保持原始单元格格式不变。
我提取的XLSX为ZIP,并能够进行更改手动,而无需删除和添加映射后再次在这个网站的说明: http://davidovitz.blogspot.com/2010/05/howto-refresh-xml-schema-in-excel.html
所以,步骤是提取文件,然后更新(替换xmlMaps.xml),然后将其转换回Excel文件的下一步是什么? – akd
这不正是OP问对,但它的工作在我的情况,所以我(使用Office 2013)
点击XML地图按钮弹出
点击的底部添加并导航到一个文件或输入一个URL
如果你想
突出显示你所有的新元素,右击并分配一个新的映射删除旧的映射。使用您之前记下的笔记来做到这一点。再一次,我的情况非常简单,因为列只是附加到最后。如果您在中间添加了列,您可能希望将它们重新映射到表的末尾。
这不适用于Office2016。 “添加”步骤拒绝URL条目。 – mrtsherman
我使用了一个类似的工作流程,在中间删除或添加列时工作正常,并且您不需要很多映射:1)删除旧的XML映射2)添加新的XML映射3)重新创建映射每个元素通过将XML Source窗格中的每个元素单独拖放到现有表格的列(或新列)中。 – Kapep
该工具箱是一个讨厌的,它首先需要.NET框架1.1,然后它拒绝安装一个未指定的原因,所以我不得不手动提取文件从msi,当我最终得到它出现在Excel中,重新加载XML映射按钮将显示重新映射对话框,但其中没有列出任何模式。它只适用于映射到数据源的模式吗(我们不是)? – GSerg