我在 Excel 中编写了一个加载项。我在功能区中单击按钮时添加了一个 CustomXmlPart。添加 CustomXmlPart 后,我将其 GUID 保存在单独的工作表(XML)中,以便稍后检索 xml。
这是代码:
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);
string 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.ToString());
StreamWriter sw = File.CreateText(@"C:\Users\shree\Desktop\New.xml");
sw.Write(TaggingXml.XML);
sw.Close();
sw.Dispose();
MessageBox.Show("Done");
}
现在我的问题是如何在 excel 中查看这个 xml 文档(如果可能的话)。如果我将此文件移动到另一个系统,我是否能够访问此 xml,或者它存储在我的系统本地。如果我用来读取 xml 的 GUID 与其他机器中其他对象的 GUID 冲突怎么办。CustomXmlPart 如何工作?它存储在哪里?