我在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