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>

これで、Excel2007OpenXmlFormatを使用して値をExcelシートに表示する必要があります。計算された値は、ワークシート内の特定のセルにマップされPersonItems、同じワークシート内のテーブルにバインドされる必要があります。

XMLファイルをワークシートパッケージに埋め込み、c#パッケージAPIを?として使用して値を適切なフィールドにバインドする方法はありますCustomXmlPartか?

Channel9で、 MatthewScottがWordContentControlToolkitを使用してWord2007と似たようなものを作成した例を見つけました。ただし、これはWordでのみ機能します。

Excelに似たものはありますか?

または、このタスクを解決するためのさらに良いアプローチはありますか?

4

2 に答える 2

2

さて、XMLマッピングを調べて遊んだ後、私が望んでいることを達成するための「簡単な」方法はないという結論に達しました。

Excelアプリケーション内でXMLコンテンツをインポートする場合、ExcelはXMLマッピング定義を作成し、それをパッケージ内に保存します。XMLコンテンツ自体は、マッピング定義を使用して分割され、Excelファイルのコンテンツ内にマージされます。つまり、XMLファイル自体はインポート直後に消え、使用できなくなります。

ただし、上記のリンクでわかるように、意図的なシナリオはWord2007+で発生する可能性があります。

たぶん、この情報は、私のような同じような仕事をしている人にとって役立つでしょう。

于 2013-03-21T13:58:29.093 に答える
-2

最も簡単な方法は、xmlファイル(SAX、DOM)を解析し、対応する属性と値を取得してから、それらをExcelファイルに書き込むことです。

于 2016-08-19T18:52:54.923 に答える