以编程方式隐藏OpenXml文档的各个部分

时间:2011-11-16 16:48:45

标签: ms-word openxml wordprocessingml

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

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

html / css中的display: none

1 个答案:

答案 0 :(得分:1)

这并不等同于使用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>

要再次显示内容,只需将段落样式更改为 normal 或其他一些更理智的样式。

自定义XML部件

将您不想在文档中显示的数据存储在自定义xml数据存储中,尽管这可能在您的特定方案中不起作用

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