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

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

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

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

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

2. 郵件合并文本和圖片

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

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

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

下載Free Spire.Doc for Java 到本地后,解壓。然后執(zhí)行如下步驟手動導(dǎo)入jar到Java程序:Project Structure(Shift+Ctrl+Alt+S)打開的界面中選擇【Modules】—【Dependencies】,點擊“+”,【JARs or directories…】,選擇本地路徑中的jar文件,添加后,勾選,點擊“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實例
        Document document = new Document();
        document.loadFromFile("test.docx");

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

        //添加4個段落
        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實例,并加載郵件合并模板文檔
        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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

    Java GZIP壓縮與解壓縮代碼實例

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

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

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

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

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

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

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

    SpringBoot整合RabbitMQ處理死信隊列和延遲隊列

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

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

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

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

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

    從一道面試題看你對java的理解程度

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

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

    下面小編就為大家?guī)硪黄獪\談Java線程間通信之wait/notify。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

襄垣县| 泸州市| 洪江市| 任丘市| 遂平县| 白玉县| 龙门县| 陇川县| 蒙山县| 新兴县| 龙陵县| 绿春县| 忻城县| 郑州市| 天长市| 葫芦岛市| 五华县| 乐陵市| 昌邑市| 公安县| 浦江县| 麟游县| 通城县| 明溪县| 澜沧| 凭祥市| 鄂托克前旗| 商水县| 肃宁县| 桃江县| 桓仁| 黄冈市| 阿拉善右旗| 江源县| 梓潼县| 宜兴市| 陆丰市| 西盟| 泰安市| 广南县| 禄劝|