我有一个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文件嵌入到工作表包中,并使用c#Package API作为CustomXmlPart
将值绑定到相应的字段?
我在Channel9上找到了一个示例,其中Matthew Scott使用Word Content Control Toolkit与Word 2007类似。但是,这仅适用于Word。
Excel有类似内容吗?
或者是否有更好的方法来解决这个问题?
答案 0 :(得分:2)
嗯,在研究和使用XML映射之后,我得出的结论是,没有“简单”的方法来实现我渴望做的事情。
在Excel应用程序中导入XML内容时,Excel会创建XML映射定义并将其存储在Package中。 XML内容本身将使用映射定义进行拆分,并合并到Excel文件的内容中。 这意味着,XML文件本身在导入后会立即消失,无法再使用。
但是,您可以在上面的链接中看到Word 2007+的故意情景。
也许这些信息对任何像我这样有类似任务的人都有帮助。
答案 1 :(得分:-2)
最简单的方法是解析xml文件(SAX,DOM),获取相应的属性和值,然后将它们写入excel文件。