将XML加载到Excel工作表中

本文关键字:工作 Excel XML 加载 | 更新日期: 2023-09-27 18:05:08

我有一个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>

将XML加载到Excel工作表中

您可以像这样将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内容。如果你已经把它作为一个字符串准备好了,使用ReadXML重载来接受一个文本阅读器。

也检查那些链接xmlportxml的函数示例