1

実際に削除せずに、OpenXML ドキュメントの一部をプログラムで非表示にすることは可能ですか?

これを行う理由: これはテンプレート ファイルであり、動的部分は databindig を使用して埋められます。また、裏付けデータがない場合は、一部のパーツを非表示にする必要があります。しかし、ドキュメントから実際にパーツを削除したくないので、後でドキュメントを新しいデータで「更新」することができます。

display: nonehtml/cssのようなもの。

4

1 に答える 1

2

これは、open xml SDK を使用して Word でコンテンツを非表示にすることとまったく同じではありません。ただし、次の 2 つのアプローチが有効です。

隠し段落トリック

スタイルを作成します。それを HiddenParagraph と呼びましょう。次のように、styles.xml で定義します。

 <w:style w:type="paragraph" w:customStyle="1" w:styleId="HiddenParagraph">
    <w:name w:val="HiddenParagraph" />
    <w:next w:val="Normal" />
    <w:pPr>
    <w:spacing w:line="14" w:lineRule="auto" />
    </w:pPr>
    <w:rPr>
      <w:rFonts w:asciiTheme="minorHAnsi" w:eastAsiaTheme="minorEastAsia" w:hAnsiTheme="minorHAnsi" w:cstheme="minorBidi" />
      <w:sz w:val="22" />
      <w:szCs w:val="22" />
    </w:rPr>
 </w:style>

w:line=14は、段落を事実上非表示にします。

この段落スタイルを使用して、表示したくないコンテンツをレンダリングします。

 <w:p>
  <w:pPr>
    <w:pStyle w:val="HiddenParagraph" />
  </w:pPr>
  <w:r>
    <w:text>you should not be able to see me
  </w:r>
</w:p>

コンテンツを再度表示するには、段落スタイルを通常のスタイルまたはその他の適切なスタイルに変更するだけです。

カスタム XML 部分

ドキュメントに表示したくないデータをカスタム xml データ ストアに保存しますが、これは特定のシナリオでは機能しない可能性があります

参照 http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2010/10/27/59361.aspx

于 2011-11-17T16:21:17.753 に答える