C#将XML加载到Excel工作表中

时间:2014-05-26 17:33:35

标签: c# xml excel

我有一串XML,我想用C#直接加载到电子表格中。我找到了一些例子,但还没有完全填补我的知识空白。

Range r = Globals.ThisAddIn.Application.Worksheets["Sheet1"].Range["A1", Missing.Value];
Workbook w = Globals.ThisAddIn.Application.ActiveWorkbook;
w.XmlImportXml(xmlString, out map1, true, r);

似乎“map1”变量将是XML模式的映射。我该怎么做呢?我是否必须指定.xsd文件或以编程方式创建?处理这个问题的首选方法是什么?

我的XML布局类似于:

<root>
   <parent>
      <childOne>5</childOne>
      <childTwo>8</childTwo>
   </parent>
   <parent>
      <childOne>10</childOne>
      <childTwo>15</childTwo>
   </parent>
</root>

1 个答案:

答案 0 :(得分:0)

您可以在此之前将XML加载到Datatable中:

DataTable table = new DataTable();
table.ReadXml(xmlFilePath); // new StringReader(xmlContent)

Excel.XmlMap map = w.XmlMaps.Add(table.GetXmlSchema(), "WhatEver");
w.XmlImportXml(table.GetXml(), out map, true, r); 

我不知道从哪里获得xml内容。如果你把它作为字符串allready,请使用接受文本阅读器的ReadXML重载。

同时检查这些链接 Functionexample of XmlImportXmlDataTable from Xml