彩票走势图

Word控件Spire.Doc 【表单域】教程(三):如何在 C# 中创建 IF 字段

翻译|使用教程|编辑:胡涛|2022-04-24 11:32:53.963|阅读 110 次

概述:本文重点介绍如何借助 Spire.Doc for .NET 在 C# 中创建 IF 字段。我们一起使用 IF 字段和 MERGEFIELD 字段,,欢迎查阅!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

 通常我们需要根据不同的条件向读者显示不同的文本和信息。在这种情况下,我们需要创建 if 字段来决定向读者显示哪个结果。本文重点介绍如何借助 Spire.Doc for .NET 在 C# 中创建 IF 字段。我们一起使用 IF 字段和 MERGEFIELD 字段。

Spire.Doc for.NET 最新下载

{IF { MERGEFIELD Count } > "100" "谢谢" "最低订购量为 100 件"}

第一步新建一个word文档。


Document document = new Document();


第 2 步为文档添加一个新部分。


Section section = document.AddSection();


第 3 步为该部分添加一个新段落。


Paragraph paragraph = section.AddParagraph();


第 4 步定义创建 IF 字段的方法。


CreateIfField(document, paragraph);


第 5 步定义合并数据。


string[] fieldName = {"Count"};
string[] fieldValue = { "2" };


第 6 步将数据合并到 IF 字段中。


document.MailMerge.Execute(fieldName, fieldValue);


第 7 步更新文档中的所有字段。


document.IsUpdateFields = true;


第 8 步将文档保存到文件中。


document.SaveToFile("sample.docx", FileFormat.Docx);


以下 CreateIfField() 方法显示了如何创建 IF 字段,如:

{IF { MERGEFIELD Count } > "100" "Thanks" " 最低订购量为 100 个单位 "}


static void CreateIfField(Document document, Paragraph paragraph)
{
IfField ifField = new IfField(document);
ifField.Type = FieldType.FieldIf;
ifField.Code = "IF ";
paragraph.Items.Add(ifField);

paragraph.AppendField("Count",FieldType.FieldMergeField);
paragraph.AppendText(" > ");
paragraph.AppendText("\"100\" ");
paragraph.AppendText("\"Thanks\" ");
paragraph.AppendText("\"The minimum order is 100 units\"");

IParagraphBase end = document.CreateParagraphItem(ParagraphItemType.FieldMark);
(end as FieldMark).Type = FieldMarkType.FieldEnd;
paragraph.Items.Add(end);
ifField.End = end as FieldMark;
}


检查有效截图如下:

如何在 C# 中创建 IF 字段

完整代码:


using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Interface;
namespace CreatIF
{
class Program
{
static void Main(string[] args)
{
Document document = new Document();
Section section = document.AddSection();
Paragraph paragraph = section.AddParagraph();
CreateIfField(document, paragraph);
string[] fieldName = { "Count" };
string[] fieldValue = { "2" };

document.MailMerge.Execute(fieldName, fieldValue);
document.IsUpdateFields = true;
document.SaveToFile("sample.docx", FileFormat.Docx);
}

static void CreateIfField(Document document, Paragraph paragraph)
{
IfField ifField = new IfField(document);
ifField.Type = FieldType.FieldIf;
ifField.Code = "IF ";
paragraph.Items.Add(ifField);
paragraph.AppendField("Count", FieldType.FieldMergeField);
paragraph.AppendText(" > ");
paragraph.AppendText("\"100\" ");
paragraph.AppendText("\"Thanks\" ");
paragraph.AppendText("\"The minimum order is 100 units\"");
IParagraphBase end = document.CreateParagraphItem(ParagraphItemType.FieldMark);
(end as FieldMark).Type = FieldMarkType.FieldEnd;
paragraph.Items.Add(end);
ifField.End = end as FieldMark;
}

}
}



欢迎下载|体验更多E-iceblue产品

如需获取更多产品相关信息请咨询  


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP