Aspose.words合并文档、邮件合并功能

aspose.words  15.12版本


把两个文件合并成一个文件

        string fp1 = Request.PhysicalApplicationPath + "111.doc";
        FileStream fs1 = new FileStream(fp1, FileMode.Open);
        Document doc1 = new Document(fs1);
        string fp2 = Request.PhysicalApplicationPath + "222.doc";
        FileStream fs2 = new FileStream(fp2, FileMode.Open);
        Document doc2 = new Document(fs2);
        Document doc3 = new Document();
        doc3.RemoveAllChildren();
        doc3.AppendDocument(doc1, ImportFormatMode.UseDestinationStyles);
        fs1.Close();
        fs2.Close();
        fs1.Dispose();
        fs2.Dispose();
        doc3.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
        doc3.Save(Request.PhysicalApplicationPath + "333.docx", SaveFormat.Docx);
        doc3.Save(Request.PhysicalApplicationPath + "333.pdf", SaveFormat.Pdf);


邮件合并功能,可以将所有文件单独保存,也可以合并保存一个文件

 
        string fp1 = Request.PhysicalApplicationPath + "1.docx";
        FileStream fs1 = new FileStream(fp1, FileMode.Open);
        Document doc1 = new Document(fs1);
        DataTable dt = GetDataSource();
        // Loop though all records in the data source.
        Document outDoc = new Document();
        outDoc.RemoveAllChildren();
        foreach (DataRow row in dt.Rows)
        {
            Document dstDoc = (Document)doc1.Clone(true);
            dstDoc.MailMerge.Execute(row);
            outDoc.AppendDocument(dstDoc, ImportFormatMode.KeepSourceFormatting);
            //dstDoc.Save(string.Format(Request.PhysicalApplicationPath + "{0}.doc", row["username"]));
        }
        outDoc.Save(string.Format(Request.PhysicalApplicationPath + "out.doc"));
        fs1.Close();
        fs1.Dispose();


生成一个示含例表


 private DataTable GetDataSource()
    {
        DataTable table = new DataTable();
        table.Columns.Add("username");
        table.Columns.Add("id");
        table.Columns.Add("kkkk");
        table.Rows.Add("张三", "03-5555555");
        table.Rows.Add("李四", "03-5522555");
        table.Rows.Add("王武", "03-5554455");
        return table;
    }

第二个示例改自慧聪控件网

在模板Doc中,先要插入 “域”,MergeFiled, 域名对应表的字段名,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值