1

是否可以以编程方式隐藏 OpenXML 文档的某些部分,而无需实际删除它?

我想这样做的原因:这是一个模板文件,动态部分使用 databindig 填充。如果没有支持数据,则应隐藏某些部分。但不想实际从文档中删除部分,因此稍后可以使用新数据“刷新”文档。

类似于display: nonehtml/css 中的内容。

4

1 回答 1

2

这并不完全等同于使用 open xml sdk 在 Word 中隐藏内容。但是,有两种方法可能对您有用:

隐藏段落技巧

创建一个样式,我们称之为 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 回答