2013-03-20 69 views
1

我确实有它包含的项目,如清单沿着几个计算值的XML文件:嵌入XML转换成Excel工作表

<?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#包API作为CustomXmlPart值绑定到相应的字段?

我在Channel9上找到了一个例子,其中Matthew Scott通过使用Word Content Control Toolkit与Word 2007做了类似的事情。但是,这只适用于Word。

Excel是否有类似的东西?

或者还有更好的方法来解决这个任务吗?

回答

2

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

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

但是,您可以在上面的链接中看到,故意使用Word 2007+。

也许这个信息对任何像我这样的人都有帮助。

-2

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