Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words是一个为Microsoft Word文档的服务器端处理而设计的类库,支持以下方式的字段:
在本文中,我们将详细了解字段结构、Aspose.Words 支持的字段以及使用这些字段的详细信息。
一个字段由以下部分组成:

组成字段代码的内容作为 Run 节点存储在 FieldStart 和 FieldSeparator 之间。字段结果存储在 FieldSeparator 和 FieldEnd 节点之间,可以由各种类型的内容组成。通常,字段结果仅包含由 Run 节点组成的文本,但 FieldEnd 节点可能位于完全不同的段落中,从而使字段结果也由 Table 等 文档中节点的逻辑级别 和 Paragraph 节点组成。
以下是如何使用"DocumentExplorer" 示例(可在 吉图布 上找到)在 Aspose.Words 中存储字段的视图。

当文档加载到 Aspose.Words 中时,文档的字段将作为一组单独的组件(节点)加载到 Aspose.Words Document Object Model (DOM) 中。单个字段作为 FieldStart、FieldSeparator 和 FieldEnd 节点以及这些节点之间的内容的集合加载。如果字段没有字段结果,则不会有 FieldSeparator 节点。所有这些节点始终是内联的(作为 Paragraph 或 SmartTag 的子节点)。
在 Aspose.Words 中,每个 FieldXXX 节点都源自 FieldChar。该类提供了一个属性,用于通过 FieldType 属性检查指定节点所表示的字段类型。例如,FieldType.FieldMergeField 表示文档中的合并字段。
Word 文档中存在一些特定字段,这些字段不会作为 FieldXXX 节点集合导入到 Aspose.Words 中。例如,LINK 字段和 INCLUDEPICTURE 字段作为 Shape 对象导入到 Aspose.Words 中。该对象提供了处理通常存储在这些字段中的图像数据的属性。要将 INCLUDEPICTURE 字段导入为 FieldXXX 节点,必须将 PreserveIncludePictureField 选项指定为 true。
表单字段也作为其自己的特殊类导入到 Aspose.Words 中。 FormField 类表示 Word 文档中的表单字段,并提供表单字段特有的其他方法。
当前版本的 Aspose.Words 支持以下字段的计算:
ADDRESSBLOCKASKAUTHORAUTONUMAUTONUMLGLAUTONUMOUTAUTOTEXTBARCODECOMMENTSCOMPARECREATEDATEDATABASEDATEDISPLAYBARCODEDOCPROPERTYDOCVARIABLEEDITTIMEEQFILENAMEFILESIZEFILLINFORMCHECKBOXFORMDROPDOWNFORMTEXTGLOSSARYGOTOBUTTONGREETINGLINEHYPERLINKIFIMPORTINCLUDEINCLUDEPICTUREINCLUDETEXTINDEXINFOKEYWORDSLASTSAVEDBYLISTNUMMACROBUTTONMERGEBARCODEMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNOTEREFNUMCHARSNUMPAGESNUMWORDSPAGEPAGEREFPRINTDATEQUOTEREFREVNUMSAVEDATESECTIONSECTIONPAGESSEQSETSHAPESKIPIFSTYLEREFSUBJECTSYMBOLTEMPLATETIMETITLETOATOCUSERADDRESSUSERINITIALSUSERNAMEAspose.Words 遵循 Microsoft Word 处理字段的方式,因此它可以正确处理:
IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words 提供了公式引擎的非常严格的实现并支持以下内容:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"支持表达式中的以下函数:ABS、AND、AVERAGE、COUNT、DEFINED、FALSE、IF、INT、MAX、MIN、MOD、NOT、OR、PRODUCT、ROUND、SIGN、SUM、TRUE。
IF 和 COMPARE 字段只需 Aspose.Words 可以轻松计算的一些 IF 表达式,您就可以了解此功能的强大之处:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE 和 TIME 字段Aspose.Words 支持 Microsoft Word 中提供的所有日期和时间格式开关,一些示例是:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words 对文档中 Mail Merge 字段的复杂性没有限制,支持嵌套 IF 和公式字段,甚至可以使用公式计算合并字段的名称。
Aspose.Words 支持的 Mail Merge 字段的一些示例:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MergeFieldValue1 } >= {MergeField Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }文档中的字段可以具有格式开关,用于指定结果值的格式。 Aspose.Words 支持以下格式切换:
Aspose.Words计算字段结果时,经常需要将字符串解析为数字或日期值,并将其格式化回字符串。默认情况下,Aspose.Words在字段更新期间计算字段值时使用当前线程区域性来执行解析和格式化和mail merge。还有以 FieldOptions 类的形式提供的选项,允许进一步控制字段更新期间使用的区域性。
要控制字段计算期间使用的区域性,只需在调用字段计算之前将 Thread.CurrentThread.CurrentCulture 属性设置为您选择的区域性即可。
以下代码示例演示如何在更新期间更改格式化字段中使用的区域性:
使用当前区域性来格式化字段允许系统在字段更新期间轻松一致地控制文档中所有字段的格式化方式。
另一方面,Microsoft Word 根据字段中找到的文本语言(特别是字段代码中的运行)来格式化每个单独的字段。有时,在字段更新期间,这可能是所需的行为,例如,如果您有包含由多种不同语言组成的内容的全球化文档,并且希望每个字段遵循文本中使用的区域设置。 Aspose.Words 也支持此功能。
Document 类提供了一个 FieldOptions 属性,其中包含可用于控制文档中字段更新方式的成员。
以下代码示例演示如何指定在字段更新和 Mail Merge 期间选择用于日期格式的区域性:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.