我有一串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>
答案 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 XmlImportXml, DataTable from Xml