将XMLembedded到Excel工作表中

我有一个XML文件,其中包含几个计算值以及项目列表,如:

<?xml version="1.0" encoding="utf-8"?> <XmlContent> <Elements> <CreationDate>...</CreationDate> <Filename>....</Filename> </Elements> <PersonItems> <PersonItem> <FirstName>...</FirstName> <LastName>...</LastName> <Speed>...</Speed> </PersonItem> <PersonItem> <FirstName>...</FirstName> <LastName>...</LastName> <Speed>...</Speed> </PersonItem> [...] </PersonItems> </XmlContent> 

现在应该使用Excel 2007 OpenXmlFormat在Excel工作表中显示这些值。 计算的值应该映射到工作表内的一个特定的单元格,应该将PersonItems绑定到同一工作表中的一个表。

有没有办法将XML文件embedded到工作表包中,并通过使用c#Package API作为CustomXmlPart将值绑定到适当的字段?

我在Channel9上find了一个例子,Matthew Scott用Word Content Control Toolkit做了一些与Word 2007类似的东西。 但是,这只适用于Word。

有什么类似的Excel?

还是有更好的方法来解决这个任务?

那么经过研究和XML映射后,我得出的结论是,没有“简单”的方法来实现我所渴望的。

在Excel应用程序中导入XML内容时,Excel将创build一个XML映射定义并将其存储在Package中。 XML内容本身将使用映射定义进行拆分,并合并到Excel文件的内容中。 这意味着,XML文件本身在导入后立即消失,不能再使用。

但是,您可以在上面的链接中看到,Word 2007+可能会出现故意的情况。

也许这个信息对于像我这样有类似任务的人是有帮助的。

最简单的方法是parsingXML文件(SAX,DOM),获取相应的属性和值,然后将其写入Excel文件。