2009年9月27日 星期日

VSTO Excel XmlMapping

Step1:事先準備好一個xml檔cat.xml

這個xml檔是用DataTable產生出來的

<?xml version="1.0" standalone="yes"?>
<CATs>
  <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
  </CAT>
  <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
  </CAT>
</CATs>


Step2:顯示開發工具



enabledevtool



Step3:



新增一個VSTO Excel 2007 WorkBook專案。新增後點選[開發人員],再按一下[來源]。就會在excel畫面的右邊



看到xml來源的actions pane。



step3



Step4:



點選[XML 對應…]。彈出[XML對應]對話視窗後,按[新增]選取cat.xml檔。選好按確定後。畫面如下。



step4



Step 5:



按住CAT。拖曳到A1放開後,按一下重新整理。就可以看到下面的畫面了



step5 



Step 6:Coding



        private void Sheet1_Startup(object sender, System.EventArgs e)
{
Globals.ThisWorkbook.XmlMaps.Add("cat.xml", "CATs").Name = "CATs_MAP";

Globals.ThisWorkbook.XmlMaps[1].Import("cat.xml", true);
}


然後就可以Testing了

沒有留言: