最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 在Word中創(chuàng)建郵件合并模板并合并文本和圖片的操作方法

 更新時(shí)間:2021年07月15日 15:15:36   作者:E-iceblue  
通過(guò)Java程序展示如何來(lái)實(shí)現(xiàn)創(chuàng)建模板,并通過(guò)郵件合并功能來(lái)合并文本數(shù)據(jù)和圖片數(shù)據(jù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

Word里面的郵件合并功能是一種可以快速批量操作同類型數(shù)據(jù)的方式,常見(jiàn)的如數(shù)據(jù)填充、打印等。其中必不可少的步驟包括用于填充的模板文檔、填充的數(shù)據(jù)源以及實(shí)現(xiàn)郵件合并的功能。下面,通過(guò)Java程序展示如何來(lái)實(shí)現(xiàn)創(chuàng)建模板,并通過(guò)郵件合并功能來(lái)合并文本數(shù)據(jù)和圖片數(shù)據(jù)的方法,分別以2個(gè)示例來(lái)展示,即:

1. 創(chuàng)建Word填充模板

2. 郵件合并文本和圖片

本次程序運(yùn)行環(huán)境如下:

  • 代碼編譯工具:IDEA
  • Jdk版本:1.8.0
  • Word測(cè)試文檔:.docx 2013
  • Word jar包工具:Free Spire.Doc for Java

關(guān)于jar導(dǎo)入:

下載Free Spire.Doc for Java 到本地后,解壓。然后執(zhí)行如下步驟手動(dòng)導(dǎo)入jar到Java程序:Project Structure(Shift+Ctrl+Alt+S)打開(kāi)的界面中選擇【Modules】—【Dependencies】,點(diǎn)擊“+”,【JARs or directories…】,選擇本地路徑中的jar文件,添加后,勾選,點(diǎn)擊“OK”。完成導(dǎo)入。

Java代碼示例

1. 創(chuàng)建Word郵件合并模板

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;

public class CreateTemplate {
    public static void main(String[] args) {
        //創(chuàng)建Document實(shí)例
        Document document = new Document();
        document.loadFromFile("test.docx");

        //獲取第一節(jié)
        Section section = document.getSections().get(0);

        //添加4個(gè)段落
        Paragraph para1 = section.addParagraph();
        Paragraph para2 = section.addParagraph();
        Paragraph para3 = section.addParagraph();
        Paragraph para4 = section.addParagraph();

        //添加合并域,包括文字域、圖片域
        para1.setText("姓名 : ");
        para1.appendField("Name", FieldType.Field_Merge_Field);
        para2.setText("郵件地址: ");
        para2.appendField("Email Address", FieldType.Field_Merge_Field);
        para3.setText("日期 : ");
        para3.appendField("Date", FieldType.Field_Merge_Field);
        para4.setText("圖片:");
        para4.appendField("Image:image",FieldType.Field_Merge_Field);

        //保存模板文檔
        document.saveToFile("template.docx", FileFormat.Docx);
        document.dispose();
    }
}

模板效果:

2. 郵件合并文本和圖片數(shù)據(jù)

以上面創(chuàng)建模板為例,填充文本數(shù)據(jù)及圖片數(shù)據(jù)

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{
        //創(chuàng)建Document實(shí)例,并加載郵件合并模板文檔
        Document document = new Document();
        document.loadFromFile("template.docx");

        //按文本合并域名稱,設(shè)置合并域的文本值
        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[]{"亞當(dāng)斯密", "123456@163.com", dateString};

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

        //按圖片合并域名稱,設(shè)置圖片路徑值
        String[] imageFieldNames  = new String[]{"image"};
        String[] imageFieldValues  = new String[]{"logo.jpg"};

        //調(diào)用郵件合并事件加載圖片
        document.getMailMerge().MergeImageField = new MergeImageFieldEventHandler()
        {
            public void invoke(Object sender, MergeImageFieldEventArgs args)
            {
                mailMerge_MergeImageField(sender, args);
            }
        };
        //執(zhí)行郵件合并
        document.getMailMerge().execute(imageFieldNames, imageFieldValues);

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

    }
    //創(chuàng)建郵件合并事件用于加載圖片
    private static void mailMerge_MergeImageField(Object sender, MergeImageFieldEventArgs field) {
        String filePath = (String) field.getFieldValue();
        if (!filePath.isEmpty())
        {
            field.setImage(filePath);
        }
    }
}

合并效果:

到此這篇關(guān)于Java 在Word中創(chuàng)建郵件合并模板并合并文本和圖片的文章就介紹到這了,更多相關(guān)java創(chuàng)建郵件合并模板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于RedisTemplate之opsForValue的使用說(shuō)明

    關(guān)于RedisTemplate之opsForValue的使用說(shuō)明

    這篇文章主要介紹了關(guān)于RedisTemplate之opsForValue的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java GZIP壓縮與解壓縮代碼實(shí)例

    Java GZIP壓縮與解壓縮代碼實(shí)例

    這篇文章主要介紹了Java GZIP壓縮與解壓縮代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java Web實(shí)現(xiàn)文件下載和亂碼處理方法

    Java Web實(shí)現(xiàn)文件下載和亂碼處理方法

    文件上傳和下載是web開(kāi)發(fā)中常遇到的問(wèn)題。今天小編給大家分享下Java Web實(shí)現(xiàn)文件下載和亂碼處理方法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 深入Synchronized和java.util.concurrent.locks.Lock的區(qū)別詳解

    深入Synchronized和java.util.concurrent.locks.Lock的區(qū)別詳解

    本篇文章是對(duì)Synchronized和java.util.concurrent.locks.Lock的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Java常見(jiàn)數(shù)據(jù)結(jié)構(gòu)面試題(帶答案)

    Java常見(jiàn)數(shù)據(jù)結(jié)構(gòu)面試題(帶答案)

    這篇文章主要介紹了Java常見(jiàn)數(shù)據(jù)結(jié)構(gòu)面試題,帶有答案及解釋,希望對(duì)廣大的程序愛(ài)好者有所幫助,同時(shí)祝大家有一個(gè)好成績(jī),需要的朋友可以參考下。
    2017-09-09
  • SpringBoot整合RabbitMQ處理死信隊(duì)列和延遲隊(duì)列

    SpringBoot整合RabbitMQ處理死信隊(duì)列和延遲隊(duì)列

    這篇文章將通過(guò)示例為大家詳細(xì)介紹SpringBoot整合RabbitMQ時(shí)如何處理死信隊(duì)列和延遲隊(duì)列,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-05-05
  • Java中BigInteger與BigDecimal類用法總結(jié)

    Java中BigInteger與BigDecimal類用法總結(jié)

    在Java中有兩個(gè)用于大數(shù)字運(yùn)算的類,分別是java.math.BigInteger類 和 java.math.BigDecimal類,這兩個(gè)類都可以用于高精度計(jì)算,BigInteger類是針對(duì)整型大數(shù)字的處理類,而B(niǎo)igDecimal類是針對(duì)大小數(shù)的處理類,接下來(lái)帶大家來(lái)學(xué)習(xí)一下,在Java中如何處理大數(shù)字
    2023-05-05
  • JVM代碼緩存區(qū)CodeCache原理及用法解析

    JVM代碼緩存區(qū)CodeCache原理及用法解析

    這篇文章主要介紹了JVM代碼緩存區(qū)CodeCache原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 從一道面試題看你對(duì)java的理解程度

    從一道面試題看你對(duì)java的理解程度

    這篇文章主要給大家介紹了關(guān)于如何從一道面試題看你對(duì)java的理解程度的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧
    2018-09-09
  • 淺談Java線程間通信之wait/notify

    淺談Java線程間通信之wait/notify

    下面小編就為大家?guī)?lái)一篇淺談Java線程間通信之wait/notify。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論

花莲县| 荣昌县| 忻城县| 中牟县| 伊吾县| 金坛市| 武平县| 肥东县| 青田县| 漠河县| 博白县| 莱阳市| 枞阳县| 应用必备| 图们市| 西乌珠穆沁旗| 汝州市| 垦利县| 抚顺县| 苗栗县| 潜江市| 浦城县| 大连市| 独山县| 商河县| 乌苏市| 红原县| 梨树县| 玉树县| 舒城县| 乃东县| 诸城市| 宜宾市| 盐城市| 蓬安县| 武清区| 孟津县| 石渠县| 汉沽区| 岢岚县| 田林县|