CustomXmlParts dans Excel

J'ai écrit un complément dans Excel. J'ajoute un CustomXmlPart sur le button du button dans le ruban. Lorsque le CustomXmlPart est ajouté, je sauvegarde son GUID dans une feuille séparée (XML) pour resortingver le xml plus tard.

Voici le code:

private void btnAddXML_Click(object sender, RibbonControlEventArgs e) { Excel.Workbook WB = Globals.ThisAddIn.Application.ActiveWorkbook; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"C:\Users\shree\Desktop\Correct.xml"); Microsoft.Office.Core.CustomXMLPart TaggingXml = WB.CustomXMLParts.Add(xmlDoc.OuterXml); ssortingng strXmlGUID = TaggingXml.Id; Excel.Worksheet WS = WB.Sheets.Add(After: WB.Sheets[WB.Sheets.Count]); WS.Name = "XML"; WS.Cells[1, 1] = strXmlGUID; } private void btnShowXML_Click(object sender, RibbonControlEventArgs e) { Excel.Workbook WB = Globals.ThisAddIn.Application.ActiveWorkbook; Excel.Worksheet WS = WB.Sheets["XML"]; XmlDocument xmlDoc = new XmlDocument(); Microsoft.Office.Core.CustomXMLPart TaggingXml = WB.CustomXMLParts.SelectByID(WS.Cells[1, 1].Value.ToSsortingng()); StreamWriter sw = File.CreateText(@"C:\Users\shree\Desktop\New.xml"); sw.Write(TaggingXml.XML); sw.Close(); sw.Dispose(); MessageBox.Show("Done"); } 

Maintenant, ma question est de savoir comment voir ce document xml dans Excel (si possible). Si je déplace ce file vers un autre système, est-ce que je pourrais accéder à ce xml ou il est stocké localement dans mon système. Que faire si le GUID que j'utilise pour lire xml entre en conflit avec le GUID d'un autre object dans une autre machine. Comment fonctionne un CustomXmlPart? Où est-il stocké?

  1. Vous ne pouvez pas afficher cette information dans Excel elle-même. Vous pouvez créer une simple application de visualisation CustomXMLParts à l'aide de VSTO.
  2. Le CustomXMLPart est stocké dans le file Excel lui-même. Cela signifie que lorsque vous copyz le classur Excel ou l'ouvrez ailleurs, le XML personnalisé réside dans ce classur.