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é?