• 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,好吧我将源码放上来吧,源码仅供学习使用,请勿用在商业用途!下载地址

  • 相关阅读:
    阿里云oss前端javascript签名上传爬坑手册
    关于文件上传获取视频播放时长
    用js获取视频播放时长
    关于文件上传阿里云Oss
    两种方式实现图片上传在线预览
    关于input file img实时预览获取文件路径的问题
    关于input file 改样式的操作方式
    关于jquery attr()与prop() 的区别
    弹窗确认操作的业务逻辑与几种方式
    [LintCode] Flip Bits
  • 原文地址:https://www.cnblogs.com/gonganruyi/p/1858331.html
Copyright © 2020-2023  润新知