簡體   English   中英

Excel-DNA將自定義數據保存到工作表中(而不是單元格)

[英]Excel-DNA save custom data into worksheet (not cells)

我希望有一種方法可以將來自Excel-DNA插件的自定義數據保存到工作簿中。

用戶可以通過自定義Excel-DNA表單輸入的內容。

我意識到這可以保存到單元格中,但是我不希望用戶看到或更改數據。

有沒有一種方法可以將自定義XML文件附加到工作簿或添加隱藏的工作表?

詹姆士

您可以使用Workbook.CustomXMLParts進行此操作:請參閱
自定義XML零件概述

對於那些感興趣的人,可以使用Excel-DNA功能區按鈕進行以下操作:

Microsoft.Office.Interop.Excel.Application excelApp = (Microsoft.Office.Interop.Excel.Application)ExcelDnaUtil.Application;
Microsoft.Office.Interop.Excel.Workbook workbook = excelApp.ActiveWorkbook;

System.Collections.IEnumerator enumerator = workbook.CustomXMLParts.SelectByNamespace("http://schemas.microsoft.com/vsto/samplestest").GetEnumerator();
enumerator.Reset();


if (!(enumerator.MoveNext())) {
  string xmlString1 = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
    "<employees xmlns=\"http://schemas.microsoft.com/vsto/samplestest\">" +
    "<employee>" +
    "<name>Surender GGG</name>" +
    "<hireDate>1999-04-01</hireDate>" +
    "<title>Manager</title>" +
    "</employee>" +
    "</employees>";



  Office.CustomXMLPart employeeXMLPart = workbook.CustomXMLParts.Add(xmlString1);

} else {

  Office.CustomXMLPart a = (Office.CustomXMLPart)enumerator.Current;

  a.NamespaceManager.AddNamespace("x", "http://schemas.microsoft.com/vsto/samplestest");
           MessageBox.Show(a.SelectSingleNode("/x:employees/x:employee/x:name").Text);
  MessageBox.Show(a.XML);
}

第一次添加xml文檔,第二次檢索它。 您可以保存工作簿並重新打開以確認它仍然存在。

詹姆士

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM