Java 在Word中实现邮件合并文本和图片

 时间:2026-02-14 04:44:56

1、准备一个已经创建好的Word邮件合并模板,如图:

Java 在Word中实现邮件合并文本和图片

2、导入jar包,如下图:

Java 在Word中实现邮件合并文本和图片

3、Java 示例代码如下,添加文本合并域和图片合并域来合并文本数据和图片。

import com.spire.doc.*;


import com.spire.doc.reporting.MergeImageFieldEventArgs;
import com.spire.doc.reporting.MergeImageFieldEventHandler;

import java.text.SimpleDateFormat;
import java.util.Date;

public class MailMerge {
    public static void main(String[] args) throws Exception{
        //创建Document实例,并加载邮件合并模板文档
        Document document = new Document();
        document.loadFromFile("template.docx");

        //按文本合并域名称,设置合并域的文本值
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = formatter.format(currentTime);
        String[] textFieldNames  = new String[]{"Name", "Email Address", "Date"};
        String[] textFieldValues  = new String[]{"亚当斯密", "123456@163.com", dateString};

        //合并文本到模板
        document.getMailMerge().execute(textFieldNames,textFieldValues  );

        //按图片合并域名称,设置图片路径值
        String[] imageFieldNames  = new String[]{"image"};
        String[] imageFieldValues  = new String[]{"logo.jpg"};

        //调用邮件合并事件加载图片
        document.getMailMerge().MergeImageField = new MergeImageFieldEventHandler()
        {
            public void invoke(Object sender, MergeImageFieldEventArgs args)
            {
                mailMerge_MergeImageField(sender, args);
            }
        };
        //执行邮件合并
        document.getMailMerge().execute(imageFieldNames, imageFieldValues);

        //保存文档
        document.saveToFile("result.docx", FileFormat.Docx);

    }
    //创建邮件合并事件用于加载图片
    private static void mailMerge_MergeImageField(Object sender, MergeImageFieldEventArgs field) {
        String filePath = (String) field.getFieldValue();
        if (!filePath.isEmpty())
        {
            field.setImage(filePath);
        }
    }
}

4、执行程序,合并文本和图片,如下效果:

Java 在Word中实现邮件合并文本和图片

  • Excel中快速提取身份证号的出生日期性别年龄
  • 使用数据统计分析软件FineBI进行销售额分析
  • 如何使用电脑键盘复制粘贴快捷键的操作方法?
  • VLOOKUP函数如何根据多个列的多个条件进行查询
  • word文档插入文本框的方法
  • 热门搜索
    三清山旅游 台湾旅游 衢州旅游 厦门旅游 方特旅游度假区 自驾车旅游 珠海旅游 云南旅游最佳路线 新疆旅游线路 绵阳旅游