• aspose words 模板


    前些时候在网上浏览网页时候无意发现了这个东西,该官方网站的介绍很吸引,出于好奇研究了下顺便给自己留个记号

    首先在word中设置好模板信息 有这样《符号的为域标记 像UserName为书签

    代码
    1 //载入模板,并转换成文件元素
    2   Document doc =new Document(templatePath);
    3
    4 //添加邮件合并事件
    5   doc.MailMerge.MergeField +=new MergeFieldEventHandler(HandleMergeField);
    6
    7 //合并表格
    8 DataSet ds =new DataSet();
    9 ds.Tables.Add(dt);
    10 ds.Tables.Add(dtOne);
    11
    12 //文件生成对象
    13 mBuilder =new DocumentBuilder(doc);
    14 //有一个标题行,不要颜色。
    15 mRowIdx =1;
    16
    17 /*下面注释方法与合并表格操作效果一样*/
    18 // doc.MailMerge.ExecuteWithRegions(dt);
    19 // doc.MailMerge.ExecuteWithRegions(dtOne);
    20
    21 //添加数据源,并开始执行区域数据载入
    22 doc.MailMerge.ExecuteWithRegions(ds);
    23
    24 //Bookmarks 为书签 一般如果简单的文字操作用书签
    25 if (doc.Range.Bookmarks["UserName"] !=null)
    26 {
    27 Bookmark mark = doc.Range.Bookmarks["UserName"];
    28 mark.Text ="小李子";
    29 }
    30 if (doc.Range.Bookmarks["DateTime"] !=null)
    31 {
    32 Bookmark mark = doc.Range.Bookmarks["DateTime"];
    33 mark.Text = DateTime.Now.ToString("yyyy-MM-dd");
    34 }
    35 if (doc.Range.Bookmarks["Remark"] !=null)
    36 {
    37 Bookmark mark = doc.Range.Bookmarks["Remark"];
    38 mark.Text ="测试一个超长文字测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
    39 }
    40 doc.Save("demo.doc", SaveFormat.Doc);

    doc.MailMerge.MergeField += new MergeFieldEventHandler(HandleMergeField);这可要可不要 因为这里是用来做表格样式控制

    其中给书签赋值的代码为参考网络资料!

    最后出来的效果如下:

    想要源码的可以留下email,好吧我将源码放上来吧,源码仅供学习使用,请勿用在商业用途!下载地址

  • 相关阅读:
    物流能力和综合层次结构
    new Eclipse 3.0+Lomboz 3.0+Tomcat 5.0.16配置
    30件你不知道可以通过Internet来办到的事
    《网上苏州》电子地图建设方案
    IT从业人员必看的10个论坛
    非常在线网站站长自述创业经历
    防止对 Visual Basic .NET 或 C# 代码进行反相工程
    略论中国人的思维方式
    C# vs. Java:相反的思维方式 (译文)
    Java多线程编程经验谈
  • 原文地址:https://www.cnblogs.com/gonganruyi/p/1858331.html
Copyright © 2020-2023  润新知