2011-11-18 142 views
9

我在Excel 2010工作表上有一個XML地圖,我定期從XML文件的內容中刷新。我最近爲XML數據添加了一個新字段,並希望這個字段顯示在我的XML映射中。Excel將字段添加到Xml地圖

我只是希望能夠添加新的字段,但它出現,儘管不得不再次導入整個結構,我不想這樣做,因爲它需要重新開發許多自定義格式化。

任何幫助表示讚賞。

回答

5

不幸的是,目前在Excel中的XML對象模型中沒有簡單的「刷新」方法。 XML Toolbox for Excel 2003曾經能夠做到這一點,但我不確定這是否仍然在Excel 2010中運行(值得一試)。另一種方法是編寫你自己的VBA代碼,將你的「新」模式導入到一個新的映射中,然後查看現有的「舊」模式的元素映射,然後將這些映射重新映射到「新」模式,最後刪除「老」一個。聽起來有點毛茸茸的我知道,但如果你的模式沒有明顯改變,那麼它可能是答案。

有一種比這更不優雅的方法,它涉及直接更改工作簿底層XML中的模式。如果查看xl文件夾下的工作簿結構,您會看到有一個名爲xmlMaps.xml的文件,並且此文件內部將是您的模式副本 - 然後您可以直接編輯該文件(添加新元素等)和然後,當您在Excel中再次打開新工作簿時,新字段將顯示出來供工作簿使用,從而保持原始單元格格式不變。

+0

該工具箱是一個討厭的,它首先需要.NET框架1.1,然後它拒絕安裝一個未指定的原因,所以我不得不手動提取文件從msi,當我最終得到它出現在Excel中,重新加載XML映射按鈕將顯示重新映射對話框,但其中沒有列出任何模式。它只適用於映射到數據源的模式嗎(我們不是)? – GSerg

2

這不正是OP問對,但它的工作在我的情況,所以我(使用Office 2013)

  1. 右鍵單擊您的絲帶和啓用開發者工具將它作爲一個可能的解決方案

enter image description here

  • 轉到您的絲帶新的開發人員工具部分,然後點擊來源
  • enter image description here

  • 這將打開一個右側飛出。粗體元素當前映射到您的列。注意通過點擊它們映射的地方。在我的情況下,第一個映射到A列的元素非常簡單,然後右鍵單擊任何粗體,然後取消映射。
  • enter image description here

  • 點擊XML地圖按鈕彈出

  • 點擊的底部添加並導航到一個文件或輸入一個URL

  • enter image description here

  • 如果你想

  • 突出顯示你所有的新元素,右擊並分配一個新的映射刪除舊的映射。使用您之前記下的筆記來做到這一點。再一次,我的情況非常簡單,因爲列只是附加到最後。如果您在中間添加了列,您可能希望將它們重新映射到表的末尾。

  • +0

    這不適用於Office2016。 「添加」步驟拒絕URL條目。 – mrtsherman

    +0

    我使用了一個類似的工作流程,在中間刪除或添加列時工作正常,並且您不需要很多映射:1)刪除舊的XML映射2)添加新的XML映射3)重新創建映射每個元素通過將XML Source窗格中的每個元素單獨拖放到現有表格的列(或新列)中。 – Kapep