1

我确实有一个 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有类似的东西吗?

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

4

2 回答 2

2

好吧,在研究和玩弄 XML 映射之后,我得出的结论是,没有“简单”的方法来实现我渴望做的事情。

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

但是,如您在上面的链接中所见,Word 2007+ 可能会出现这种情况。

也许这些信息对像我这样有类似任务的任何人都有帮助。

于 2013-03-21T13:58:29.093 回答
-2

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

于 2016-08-19T18:52:54.923 回答