美文网首页
word上使用merge field

word上使用merge field

作者: ivyDing | 来源:发表于2019-03-25 11:25 被阅读0次

    Merge mail是允许一个文档模板从一个数据源中提取关键字段,替换模板中的内容,生成多个文档。特别适用于通知、群发邮件、证书的生成。

    一图了然

    1. 在代码里面,引用jar包和license.xml

    <!-- word转pdf依赖,本地jar包依赖 -->

        <groupId>com.aspose.word</groupId>

    2. 用map对应起来就可以进行替换了

    public MapgetMapForDoc(String userName, String userID, String applicationReason, String results){

        Map map =new HashMap();

        int number =userMapper.selectNumber()+1;

        map.put("number", String.valueOf(number));

        map.put("userName", userName);

        map.put("userID",userID);

        map.put("applicationReason",applicationReason);

        map.put("results",results);

        map.put("today",sdf.format(new Date()));

        return map;

    }

    3. 再把map中数据读出来:

    private void merge(Document doc, Map data) {

    if (data ==null || data.isEmpty()) {

    log.info("data为空!无法继续执行merge!");

    return;

        }

    Set keys = data.keySet();

        String[] fieldNames =new String[keys.size()];

        Object[] values =new String[keys.size()];

        int i =0;

        for (String key : keys) {

    fieldNames[i] = key;

            values[i] = data.get(key);

            ++i;

        }

    try {

    doc.getMailMerge().execute(fieldNames, values);

        }catch (Exception e) {

    e.printStackTrace();

        }

    }

    4. 最后merge(doc, data);

    相关文章

      网友评论

          本文标题:word上使用merge field

          本文链接:https://www.haomeiwen.com/subject/gdzqvqtx.html