在 C# 中為組創建郵件合并
在 Spire.Doc 中,我們可以使用郵件合并將數據源中的多條記錄插入到 Word 模板文檔中的指定區域。該區域必須由兩個具有特殊名稱的合并文件標記,如?GroupStart:GroupName?和?GroupEnd:GroupName?,其中GroupStart和GroupEnd表示一個組的起點和終點,它也是該區域的起點和終點。執行郵件合并后,該區域會針對數據源中的每條記錄重復。
為了更好地演示,我們創建了一個包含合并字段的模板文檔,如下所示:
	 
 
在這個模板中,“產品”是組名,我們在使用代碼執行郵件合并時應該使用相同的名稱。合并文件“GroupStart:Products”和“GroupEnd:Products”表示組和區域的開始和結束。
代碼片段:
一開始,我們定義了一個名為“Product”的類,在其中我們創建了一個構造函數Product(int number,string type,string name,string price,string vendor,string expirydate)并添加了四個屬性“ Number ”,“ Type ”, “名稱”、“價格”、“供應商”和“到期日期”。
第 1 步:實例化 Product 類的兩個對象并將它們添加到列表中。
Product p1 = new Product(1, "Software", "Spire.Doc", "$799", "E-iceblue", "April 28th,2018"); Product p2 = new Product(2, "Software", "Spire.PDF", "$599", "E-iceblue", "September 15th,2017"); List<Product> list = new List<Product>(); list.Add(p1); list.Add(p2);
第 2 步:加載模板文檔。
Document document = new Document("ProductsList.docx");
第 3 步:使用列表作為數據源并為“產品”組執行郵件合并。
MailMergeDataTable table = new MailMergeDataTable("Products", list);
document.MailMerge.ExecuteGroup(table);
第 4 步:保存文檔。
document.SaveToFile("Output.docx");
執行上述代碼后,我們會得到如下結果文件:
	 
 
完整代碼:
using Spire.Doc;
using Spire.Doc.Reporting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MailMerge
{
class Program
{
static void Main(string[] args)
{
Product p1 = new Product(1, "Software", "Spire.Doc", "$799", "E-iceblue", "April 28th,2018");
Product p2 = new Product(2, "Software", "Spire.PDF", "$599", "E-iceblue", "September 15th,2017");
List list = new List();
list.Add(p1);
list.Add(p2);
Document document = new Document("ProductsList.docx");
MailMergeDataTable table = new MailMergeDataTable("Products", list);
document.MailMerge.ExecuteGroup(table);
document.SaveToFile("Output.docx");
}
}
public class Product
{
public Product(int number, string type, string name, string price, string vendor, string expirydate)
{
this.Number = number;
this.Type = type;
this.Name = name;
this.Price = price;
this.Vendor = vendor;
this.ExpiryDate = expirydate;
}
public int Number { get; set; }
public string Type { get; set; }
public string Name { get; set; }
public string Price { get; set; }
public string Vendor { get; set; }
public string ExpiryDate { get; set; }
}
}
歡迎下載|體驗更多E-iceblue產品

 QQ交談
QQ交談 在線咨詢
在線咨詢 
                 
                
 渝公網安備
            50010702500608號
渝公網安備
            50010702500608號
             
            
 客服熱線
客服熱線