国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

讀word模板批量生成制式文件

這篇具有很好參考價(jià)值的文章主要介紹了讀word模板批量生成制式文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、Maven依賴

  <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.xdocreport.core</artifactId>
    <version>2.0.2</version>
  </dependency>
  <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.xdocreport.document</artifactId>
    <version>2.0.2</version>
  </dependency>
  <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.xdocreport.template</artifactId>
    <version>2.0.2</version>
  </dependency>
  <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
    <version>2.0.2</version>
  </dependency>
  <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
    <version>2.0.2</version>
  </dependency>

2、.docx或.doc格式的word模板準(zhǔn)備

  1. 創(chuàng)建.docx文件,編寫內(nèi)容

讀word模板批量生成制式文件,# java,java,word

  1. 添加編輯域

按Ctrl+F9,創(chuàng)建編輯域
讀word模板批量生成制式文件,# java,java,word
右擊,選擇編輯域
讀word模板批量生成制式文件,# java,java,word
選擇郵件合并,修改域代碼要注意域代碼的格式為:MERGEFIELD ${name}name為需要填充的內(nèi)容。
讀word模板批量生成制式文件,# java,java,word
????????依次類推,填上所有的編輯域,調(diào)整文檔格式等,就完成了word文檔準(zhǔn)備。
????????之后需要代碼讀word模板轉(zhuǎn)數(shù)據(jù)流,進(jìn)行代碼域的變量批量替換,重新寫文件就完成的word文件生成工作。

3、讀word模板,批量替換代碼域,生成文件,demo

package com.dongzi.utils.word;

import fr.opensagres.xdocreport.core.XDocReportException;
import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * 讀word模板,生成數(shù)據(jù)
 */
public class ReadWordTemplate {
	
    public static void main(String[] args) throws IOException, XDocReportException {
        // 從resources/template中獲取word模板數(shù)據(jù)
        IXDocReport ixDocReport = readWord("info.docx");
        IContext context = ixDocReport.createContext();
        // set value
        // putTemplateValue_1(context);
        // putTemplateValue_2(context);
        putTemplateValue_3(context);


        // =============

        FileOutputStream out = new FileOutputStream("D:/temp/docx模板輸出.docx");
        ixDocReport.process(context, out);
        out.flush();
        out.close();
    }

    public static IXDocReport readWord(String fileName) throws IOException, XDocReportException {
        // 讀模板的方式
        // 方式1:通過URL加載
//        URL url = ClassLoader.getSystemClassLoader().getResource("template/" + fileName);
//        assert url != null;
//        InputStream in_1 = url.openStream();

        // 方式2:系統(tǒng)資源轉(zhuǎn)數(shù)據(jù)流
        InputStream in_2 = ClassLoader.getSystemResourceAsStream("template/" + fileName);

        // 方式3:spring的類加載器,獲取資源
//        ClassPathResource pathResource = new ClassPathResource("template/" + fileName);
//        InputStream in_3 = pathResource.getInputStream();

        return XDocReportRegistry.getRegistry().loadReport(in_2, TemplateEngineKind.Freemarker);
    }

    // 設(shè)置docx模板值
    public static void putTemplateValue_1(IContext context) {
        // docx文檔模板讀取,必須要預(yù)先再模板里面設(shè)置文本域,Ctrl+F9
        /*
            1. Ctrl+F9,打開編輯域
            2. 域選擇“郵件合并”,域代碼為:MERGEFIELD ${yourAddress}
            3. 頁面展示的格式為:?${yourAddress}?,模板可替換
         */
        context.put("yourName", "孫悟空");
        context.put("yourAge", "500");
        context.put("yourAddress", "花果山水簾洞");
    }

    public static void putTemplateValue_2(IContext context) {
        // 生成數(shù)據(jù)
        Map<String, Object> mapValues = new HashMap<>();
        mapValues.put("yourName", "齊天大圣");
        mapValues.put("yourAge", 36000);
        mapValues.put("yourAddress", "花果山水簾洞");
        //
        context.putMap(mapValues);
    }

    public static void putTemplateValue_3(IContext context) {
        // 生成數(shù)據(jù)
        Map<String, Object> mapValues = new HashMap<>();
        mapValues.put("yourName", "派大星");
        mapValues.put("yourAge", 36000);
        mapValues.put("yourAddress", "黃土高坡");

        for (int i = 1; i <= 10; i++) {
            mapValues.put("index_" + i, i);
            mapValues.put("value_" + i, i + 2);
        }
        //
        context.putMap(mapValues);
    }

}

4、結(jié)果展示

讀word模板批量生成制式文件,# java,java,word
至此,整個(gè)模板讀取生成過程全部結(jié)束。文章來源地址http://www.zghlxwxcb.cn/news/detail-683889.html

到了這里,關(guān)于讀word模板批量生成制式文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Uipath 讀取Word模板實(shí)現(xiàn)錄用通知書PDF批量生成

    Uipath 讀取Word模板實(shí)現(xiàn)錄用通知書PDF批量生成

    本文主要講解如何使用Uipath 讀取Excel 面試人員信息表,讀取Word模板,再批量生成錄用通知書PDF文件,該自動(dòng)化大大提高了HR 的工作效率。 注:本方案實(shí)現(xiàn)采用無代碼模式,通過拖拉控件實(shí)現(xiàn)。 本示例采用簡(jiǎn)單的序列流程圖實(shí)現(xiàn),如下圖: 注:實(shí)際開發(fā)采用企業(yè)級(jí)開發(fā)框架

    2024年02月21日
    瀏覽(19)
  • itextpdf實(shí)現(xiàn)word模板生成文件

    itextpdf實(shí)現(xiàn)word模板生成文件

    使用word模板生成文件,如下圖,將左側(cè)的模板生成為右側(cè)的填充word文檔。 引入依賴 創(chuàng)建模板,創(chuàng)建一份template2.docx文件,內(nèi)容如下 編寫代碼 編寫測(cè)試用例,并執(zhí)行測(cè)試用例 生成得到被填充出來的文件。

    2024年02月11日
    瀏覽(27)
  • SpringBoot整合FreeMarker生成word表格文件(使用FTL模板)

    SpringBoot整合FreeMarker生成word表格文件(使用FTL模板)

    一,什么是FreeMarker,F(xiàn)TL模板? FreeMarker 是一款 模板引擎: 即一種基于模板和要改變的數(shù)據(jù), 并用來生成輸出文本(HTML網(wǎng)頁,電子郵件,配置文件,源代碼等)的通用工具。 它不是面向最終用戶的,而是一個(gè)Java類庫,是一款程序員可以嵌入他們所開發(fā)產(chǎn)品的組件。 模板編寫為

    2024年03月24日
    瀏覽(28)
  • Java使用poi-tl生成word模板-動(dòng)態(tài)數(shù)據(jù)列表

    Java使用poi-tl生成word模板-動(dòng)態(tài)數(shù)據(jù)列表

    Java使用poi-tl生成word模板-動(dòng)態(tài)數(shù)據(jù)列表 第一步,添加poi-tl的依賴 第二步,準(zhǔn)備word模板文件 ????????????模板中文本信息可以用 ? ?{{ ?}} ? 標(biāo)簽指定 ?? ?????????例如在word文檔中寫入:{{var}} //會(huì)將word文檔中的對(duì)位置的標(biāo)簽替換為map中的數(shù)據(jù) ?? ?????????模板

    2024年02月14日
    瀏覽(26)
  • Java的POI-word模板生成目錄自動(dòng)更新--完美解決

    目錄問題: 解決word模板目錄在第一次打開不更新就不顯示目錄問題的原因:之前是通過動(dòng)態(tài)替換域代碼toc的形式,生成了一段域代碼放置在Word的目錄行,打開的時(shí)候無法直接觸發(fā)渲染和更新。 方案:通過插入-文檔組件-域組件-目錄和索引,將當(dāng)前的模板的目錄直接生成到文

    2024年02月11日
    瀏覽(20)
  • 根據(jù)模板動(dòng)態(tài)生成word(一)使用freemarker生成word

    根據(jù)模板動(dòng)態(tài)生成word(一)使用freemarker生成word

    @ 目錄 一、準(zhǔn)備模板 1、創(chuàng)建模板文件 2、處理模板 2.1 處理普通文本 2.2 處理表格 2.3 處理圖片 二、項(xiàng)目代碼 1、引入依賴 2、生成代碼 三、驗(yàn)證生成word 首先先建立一個(gè)word文件,輸入模板內(nèi)容freemaker的內(nèi)容,下面是本次演示的word文件。 然后將word文件另存為 .xml 文件,然后再

    2024年02月13日
    瀏覽(30)
  • Java實(shí)現(xiàn)打包壓縮文件或文件夾生成zip以實(shí)現(xiàn)多文件批量下載

    Java實(shí)現(xiàn)打包壓縮文件或文件夾生成zip以實(shí)現(xiàn)多文件批量下載

    有時(shí)候在系統(tǒng)中需要一次性下載多個(gè)文件,但逐個(gè)下載文件比較麻煩。這時(shí)候,最好的解決辦法是將所有文件打包成一個(gè)壓縮文件,然后下載這個(gè)壓縮文件,這樣就可以一次性獲取所有所需的文件了。 下面是一個(gè)名為CompressUtil的工具類的代碼,它提供了一些方法來處理文件壓

    2024年02月06日
    瀏覽(32)
  • java 使用POI-TL根據(jù)word模版,生成word文件,含圖片,富文本。

    java 使用POI-TL根據(jù)word模版,生成word文件,含圖片,富文本。

    1.引入mavna坐標(biāo)` 2 .poi-tl-ext插件主要用于富文本內(nèi)容格式在word展現(xiàn) 3.word模版創(chuàng)建 3.具體代碼實(shí)現(xiàn) 4.本文的miniourl路徑實(shí)質(zhì)為網(wǎng)絡(luò)路徑的文件。

    2024年02月16日
    瀏覽(20)
  • JAVA使用POI對(duì)Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    JAVA使用POI對(duì)Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    需求:需要上傳一個(gè)帶有占位符的模板至數(shù)據(jù)庫保存,然后解析模板的占位符,通過類計(jì)算結(jié)果替換模板中的占位符,并且保存至本地 難點(diǎn):1.由于我數(shù)據(jù)庫保存是本地保存,并沒有path 所以獲取模板的path是個(gè)難點(diǎn) 2.如何使用計(jì)算類,由于我的類是和占位符綁定的,什么樣的

    2024年02月16日
    瀏覽(28)
  • 根據(jù)模板動(dòng)態(tài)生成word(三)使用poi-tl生成word

    根據(jù)模板動(dòng)態(tài)生成word(三)使用poi-tl生成word

    @ 目錄 一、前言 1、什么是poi-tl 2、官方信息 2.1 源碼倉(cāng)庫 2.2 中文文檔 2.3 開源協(xié)議 3、poi-tl的優(yōu)勢(shì) 3.1 poi-tl和其他模板引擎的對(duì)比 3.2 poi-tl Word模板引擎支持的功能 二、基本的使用配置 1、引入依賴 1.1 Maven 1.2 Gradle 2、配置 2.1 新建配置 2.2 標(biāo)簽前后綴替換 2.3 加載模板 2.4 填充數(shù)

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包