OpenXml:SdtBlock和SdtCell有什么区别?

9
OpenXml.Wordprocessing 中的 SdtCellSdtBlock 都序列化为 <w:sdt>,那么它们之间有什么区别呢?我猜其中一个是表格单元格,这也是 Microsoft 文档所暗示的。但提供的细节至少是稀少的,请您澄清一下。
1个回答

6

sdtcellsdtblock的MSDN页面中,下面是我强调的内容:

主要区别在于<w:sdt>内的<w:sdtContent>类型。

SDTCELL

该元素指定了一个结构化文档标记围绕单个表格单元格。该元素的两个子元素将通过sdtPr和sdtContent元素分别用于指定当前结构化文档标记的属性和内容。

[示例:考虑一个友好名称为“company”的结构化文档标记,必须位于WordprocessingML文档中的单个表格单元格周围。这个要求可以在WordprocessingML中如下指定:

<w:tr>
<w:sdt>
<w:sdtPr>
<w:alias w:val="company"/>
</w:sdtPr>
<w:sdtContent>
<w:tc>
…
</w:tc>
</w:sdtContent>
</w:sdt>
…
</w:tr>

sdt元素指定结构化文档标记,其子sdtPr元素包含友好名称属性设置为company,sdtContent元素包含单个表格单元格(它是单元格级别的结构化文档标记)

SDTBLOCK

此元素指定一个或多个块级结构(段落、表格等)周围存在结构化文档标记。该元素的两个子元素将通过sdtPr和sdtContent元素分别用于指定当前结构化文档标记的属性和内容。

[示例:考虑一个带有友好名称地址的结构化文档标记,必须位于WordprocessingML文档中的单个段落周围。在WordprocessingML中,可以如下指定此要求:

<w:body>
<w:sdt>
<w:sdtPr>
<w:alias w:val="address"/>
</w:sdtPr>
<w:sdtContent>
<w:p></w:p>
</w:sdtContent>
</w:sdt></w:body>
元素指定结构化文档标记,其子元素包含友好名称属性集,设置为“address”,元素包含单个段落(它是一个块级别的结构化文档标记)

所以如果我理解正确的话,您只会在想要标记现有表中的单个单元格时使用sdtcell? - emd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接