ขั้นสูงMail Mergeคุณสมบัติ

Aspose.Wordsให้คุณสมบัติและวิธีการเพิ่มเติมMail Mergeที่ช่วยให้คุณสามารถดำเนินการปรับแต่งเพิ่มเติมของกระบวนการMail Mergeทั้งในแบบง่ายๆMail MergeหรือMail Mergeกับภูมิภาค.

คุณลักษณะขั้นสูงMail Mergeประกอบด้วยแต่ไม่จำกัดเฉพาะการรับข้อมูลเกี่ยวกับโครงสร้างเทมเพลตก่อนดำเนินการดำเนินการMail Mergeการตั้งค่ากฎสำหรับการดำเนินการMail Mergeและการทำความสะอาดในระหว่างการดำเนินการMail Merge บทความนี้จะครอบคลุมเพียงไม่กี่คุณสมบัติและตัวอย่างที่จะแสดงวิธีการใช้คุณลักษณะขั้นสู.

กำหนดกฎสำหรับMail Mergeการดำเนินงาน

การเพิ่มกฎลงในแม่แบบของคุณช่วยให้คุณสามารถทำให้กระบวนการเวิร์กโฟลว์มีประสิท การใช้กฎMail Mergeคุณสามารถตั้งค่าเนื้อหาที่สามารถเปลี่ยนแปลงได้อย่างรวดเร็วและหลีกเลี่ยงความจำเป็นในการสร้างเอกสารหลายรายการ.

Aspose.Wordsอนุญาตให้คุณกำหนดเองMail Mergeตามกฎที่ทำงานเมื่อคุณดำเนินการMail Mergeการดำเนินงานและการควบ ตัวอย่างเช่นเมื่อคุณสร้างอีเมลหรือจดหมายที่จะส่งให้กับลูกค้าทั้งหมดของคุณ คุณสามารถตั้งค่ากฎเพื่อให้ตัวอักษรอาจประกอบด้วยข้อมูลต่างๆตามค่าที่แตกต่างกันในบาง.

ลองดูที่กฎMail Mergeที่คุณสามารถใช้ได้.

ใช้ฟิลด์ถัดไปที่จะผสานระเบียนข้อมูลในเอกสารปัจจุบัน

คุณสามารถใช้ฟิลด์Nextเพื่อรวมบันทึกข้อมูลถัดไปลงในเอกสารที่ผสานผลลัพธ์ปัจจุบันแทนที่จะเริ่ ใช้เพื่อแสดงระเบียนหลายรายการในเอกสารเดียว.

ใช้ฟิลด์NextIfและSkipIfเพื่อเปรียบเทียบสองนิพจน์

คุณสามารถใช้ฟิลด์NextIfหรือฟิลด์SkipIfถ้าคุณต้องการเปรียบเทียบสองนิพจน์(rightและleftนิพจน์)โดยบางoperator.

NextIf

Field Name Comparison Result “True” Comparison Result “False”
NextIf Aspose.Wordsจะผสานการบันทึกข้อมูลถัดไปลงในเอกสารผสานปัจจุบันและฟิลด์ผสานทั้งหมดในแม่แบบที่อยู่หลังฟิลด์NextIfจะถูกแทนที่ด้วยค่าจากระเบียนข้อมูลถัดไปแทนที่จะเป็นระเบียนข้อมูลปัจจุบัน. Aspose.Wordsจะรวมบันทึกข้อมูลถัดไปลงในเอกสารผสานใหม่.
SkipIf Aspose.Wordsจะยกเลิกเอกสารผสานปัจจุบันย้ายไปยังบันทึกข้อมูลถัดไปในแหล่งข้อมูลและเริ่มต้นเอกสารผสานใหม่. Aspose.Wordsจะดำเนินการต่อเอกสารผสานปัจจุบัน.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเปรียบเทียบนิพจน์สองนิพจน์กับNextIfหรือSkipIf:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Use NextIf field. A NEXTIF field has the same function as a NEXT field,
// but it skips to the next row only if a statement constructed by the following 3 properties is true.
FieldNextIf fieldNextIf = (FieldNextIf)builder.InsertField(FieldType.FieldNextIf, true);
// Or use SkipIf field.
FieldSkipIf fieldSkipIf = (FieldSkipIf)builder.InsertField(FieldType.FieldSkipIf, true);
fieldNextIf.LeftExpression = "5";
fieldNextIf.RightExpression = "2 + 3";
fieldNextIf.ComparisonOperator = "=";
doc.Save(ArtifactsDir + "WorkingWithFields.FieldNext.docx");
view raw field-next.cs hosted with ❤ by GitHub

รับข้อมูลเกี่ยวกับโครงสร้างแม่แบบ

Aspose.Wordsช่วยให้คุณสามารถรวบรวมข้อมูลที่แตกต่างกันในเทมเพลตของคุณผ่านทางหลายวิธี. ตัวอย่างเช่นคุณอาจต้องดูชื่อของเขตข้อมูลที่ผสานหรือลำดับชั้นของพื้นที่ในเทมเพลตของคุณ ตอนนี้เราจะอธิบายตัวแปรที่เป็นไปได้ที่จะได้รับข้อมูลบางอย่างที่เฉพาะเจาะจงจากแม่แ.

รับชื่อฟิลด์ผสาน

คุณสามารถพบสถานการณ์ที่คุณต้องการผสานข้อมูลกับเขตข้อมูลผสานที่สร้างขึ้นโดยผู้อื่นแล ดังนั้นเพื่อให้บรรลุวัตถุประสงค์Mail Mergeอันดับแรกคุณจะต้องอ่านและแสดงชื่อของเขตข้อมูลทั้งหมดผสาน Aspose.Wordsช่วยให้คุณสามารถรับคอลเลกชันของชื่อฟิลด์ผสานโดยใช้วิธีการGetFieldNames.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการรับชื่อของเขตข้อมูลผสานทั้งหมดในเทมเพลต:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document();
string[] fieldNames = doc.MailMerge.GetFieldNames();

รับข้อมูลเกี่ยวกับภูมิภาคผสาน

คุณอาจมีสถานการณ์สมมติซึ่งคุณต้องการทำความเข้าใจวิธีการจัดโครงสร้างเทมเพลตขอ คุณสามารถใช้วิธีการบางอย่างเพื่อรวบรวมข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับพื้นที่ผสานหรือเพื่อรับลำดับชั้นของพื้นที่ผสานในเทมเพลตของคุณเช่นวิธีการGetRegionsHierarchy คุณสามารถใช้คุณสมบัติและวิธีการของMailMergeRegionInfoคลาสตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับลำดับชั้นของพื้นที่ผสาน:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
MailMergeRegionInfo regionInfo = doc.MailMerge.GetRegionsHierarchy();

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับพื้นที่ผสานเฉพาะภายในเทมเพลตของคุณตามชื่อ:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Mail merge regions.docx");
MailMergeRegionInfo regionInfo = doc.MailMerge.GetRegionsHierarchy();
IList<MailMergeRegionInfo> regions = doc.MailMerge.GetRegionsByName("Region1");
Assert.AreEqual(1, doc.MailMerge.GetRegionsByName("Region1").Count);
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("Region1", region.Name);
regions = doc.MailMerge.GetRegionsByName("Region2");
Assert.AreEqual(1, doc.MailMerge.GetRegionsByName("Region2").Count);
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("Region2", region.Name);
regions = doc.MailMerge.GetRegionsByName("NestedRegion1");
Assert.AreEqual(2, doc.MailMerge.GetRegionsByName("NestedRegion1").Count);
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("NestedRegion1", region.Name);

เพิ่มเขตข้อมูลที่แมป

Aspose.Wordsช่วยให้คุณสามารถแมปชื่อของฟิลด์ในแหล่งข้อมูลและชื่อของฟิลด์Mail Mergeในเทมเพลตโดยใช้คุณสมบัติMappedDataFieldsโดยอัตโนมัติ ลของคุณคุณมีชื่อฟิลด์"นามสกุล"หรือรูปแบบอื่นเช่น"Last_Name"หรือ"LastName"แล้วฟิลด์ในแหล่งข้อมูลจะแมปไปยังฟิลด์ ถ้าเทมเพลตผสานถูกผสานกับแหล่งข้อมูลจำนวนมากฟิลด์ที่แม็พทำให้ไม่จำเป็นต้องป้อนฟิลด์.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเพิ่มฟิลด์ที่แม็พโดยใช้วิธีการAddเมื่อฟิลด์ผสานในเทมเพลตแ:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document();
doc.MailMerge.MappedDataFields.Add("MyFieldName_InDocument", "MyFieldName_InDataSource");