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

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔

這篇具有很好參考價(jià)值的文章主要介紹了基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

有一個(gè)需求就是給定一個(gè)正確格式的 Word 文檔模板,要求通過動(dòng)態(tài)賦值方式,寫入數(shù)據(jù)并新生成 該模板格式的 Word 文檔。這很明顯使用 Java+freemarker 方式來實(shí)現(xiàn)頗為簡(jiǎn)單。

一、導(dǎo)入依賴

<!-- freemarker -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.30</version>
</dependency>

二、存入模板

(1)準(zhǔn)備好一個(gè)正確格式的 Word 文檔(測(cè)試文檔 - 原版.docx)

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔,Java,后端,java

(2)將其另存為xml文件(測(cè)試文檔?- 原版.xml)

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔,Java,后端,java

(3)隨便找個(gè)在線 XML 格式化工具處理一下(測(cè)試文檔 - 原版【格式化】.xml)

(4)將該 xml 模板存放在 /src/main/resources/templates/freemaker/ 目錄中

(5)使用 EL 表達(dá)式對(duì)模板進(jìn)行賦值

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔,Java,后端,java

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔,Java,后端,java

三、Xml 轉(zhuǎn) Doc/Docx

(1)/src/main/java/org/example/test/Main.java

import freemarker.template.Configuration;
import freemarker.template.Template;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

public class ConvertXmlToDoc {

    /**
     * Xml 轉(zhuǎn) Doc
     */
    private static void tranform() {
        Map<String, Object> map = new HashMap<>();
        map.put("question_1","一加一等于幾");
        map.put("answer_1","二");
        map.put("question_2","什么叫余弦定理");
        map.put("answer_2","余弦定理,歐氏平面幾何學(xué)基本定理。余弦定理是描述三角形中三邊長(zhǎng)度與一個(gè)角的余弦值關(guān)系的數(shù)學(xué)定理,是勾股定理在一般三角形情形下的推廣,勾股定理是余弦定理的特例。");

        try {
            Configuration configuration = new Configuration(Configuration.VERSION_2_3_20);
            configuration.setClassForTemplateLoading(ConvertXmlToDoc.class, "/templates/freemaker"); // 指定 xml 模板存放的位置,即:項(xiàng)目目錄/src/main/resources/templates/freemaker
            
            // 獲取 xml 模板
            Template template = configuration.getTemplate("測(cè)試文檔 - 原版【格式化】.xml");

            // 輸出 doc/docx 文件
            File outFile = new File("D:/" + "測(cè)試文檔 - 修訂版【重制版】" + ".docx");
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
            template.process(map, out);

            System.out.println("轉(zhuǎn)換成功");
        } catch (Exception e) {
            System.out.println("轉(zhuǎn)換失敗");
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        tranform();
    }
}

四、運(yùn)行效果

基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成Word文檔,Java,后端,java文章來源地址http://www.zghlxwxcb.cn/news/detail-706732.html

到了這里,關(guān)于基于Java+freemarker實(shí)現(xiàn)動(dòng)態(tài)賦值以及生成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)文章

  • Java實(shí)現(xiàn)動(dòng)態(tài)生成word報(bào)告

    Java實(shí)現(xiàn)動(dòng)態(tài)生成word報(bào)告

    1.準(zhǔn)備好docx文件模板 舉例:動(dòng)態(tài)生成表格數(shù)據(jù),以下是list數(shù)組類型的freemarker語法 將寫好的word模板加入到templates目錄下 2.在pom.xml中導(dǎo)入相關(guān)依賴 3.關(guān)于Minio的介紹 Minio 是一個(gè)開源的對(duì)象存儲(chǔ)服務(wù)器,可用于存儲(chǔ)和訪問海量數(shù)據(jù)。以下是 Minio 的基本用法: (1)安裝 Minio 首先

    2024年02月09日
    瀏覽(17)
  • freemarker模板生成的word文檔優(yōu)化

    freemarker模板生成的word文檔優(yōu)化

    使用壓縮工具打開docx模板,取出document.xml,如下圖: 將用壓縮工具打開后的docx文檔里面的document.xml復(fù)制出來,并將document.xml后綴改為.ftl,然后進(jìn)行參數(shù)預(yù)設(shè)。 將內(nèi)容格式化后修改需要替換的內(nèi)容為freemarker標(biāo)簽,對(duì)document.ftl進(jìn)行參數(shù)預(yù)設(shè),如下圖: 文件準(zhǔn)備好后存放到某個(gè)

    2024年02月02日
    瀏覽(27)
  • springboot基礎(chǔ)(78):Freemarker模板生成word文檔

    springboot基礎(chǔ)(78):Freemarker模板生成word文檔

    利用Freemarker模板生成word文檔。示例,將左側(cè)的模板生成為右側(cè)的文檔并下載。 1.編輯一份addr.docx文檔 2. 另存為addr.xml文檔 3. 打開addr.xml文件,修改內(nèi)容,由于table表格,需要遍歷list集合,需要添加 將addr.xml后綴更改為addr.ftl文件,存放到resources/templates下 導(dǎo)入依賴 編寫contr

    2024年02月11日
    瀏覽(25)
  • 若依框架中使用FreeMarker使用word動(dòng)態(tài)模板生成pdf給前端展示(模板中并沒用使用到圖片,所以沒有圖片的方法,只用了表格展示數(shù)據(jù),模板里面只涉及到了循環(huán)判斷和日期格式)

    若依框架中使用FreeMarker使用word動(dòng)態(tài)模板生成pdf給前端展示(模板中并沒用使用到圖片,所以沒有圖片的方法,只用了表格展示數(shù)據(jù),模板里面只涉及到了循環(huán)判斷和日期格式)

    首先使用word創(chuàng)建動(dòng)態(tài)模板 ?下方兩組信息是通過循環(huán)展示的,在生成模板時(shí)注意,如果不點(diǎn)擊里面表格,選擇居中表格打印出來可能還有偏差,兩邊距離頁面拒了可能不一樣 存儲(chǔ)需要的模板時(shí)注意 ? ? ?存成這個(gè)格式,如果不是2003可能會(huì)有坑,找到你生成的.xml文件,把后綴改成ftl ?

    2024年02月04日
    瀏覽(26)
  • 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日
    瀏覽(27)
  • 使用FreeMarker生成word文件自定義每頁頁眉或頁腳

    使用FreeMarker生成word文件自定義每頁頁眉或頁腳

    最新工作中遇到生成word中表格時(shí),要求文檔中每頁頭部和底部都是固定格式的表格,但是內(nèi)容不一樣,頭部信息在word中畫樣式的時(shí)候就可以設(shè)置為“在各頁頂端以標(biāo)題形式重復(fù)出現(xiàn)”,而底部就沒有辦法這樣設(shè)置了,之后就想著在眉腳中設(shè)置相應(yīng)的樣式就可以啦,但是發(fā)現(xiàn)

    2024年02月16日
    瀏覽(93)
  • springboot使用Freemark生成動(dòng)態(tài)頁面工具

    引入pom 代碼: ?具體怎么使用,需要自己看解析方式

    2024年02月07日
    瀏覽(15)
  • Java使用ftl模板文件生成Word,以及Word轉(zhuǎn)換圖片或Pdf工具類

    Java使用ftl模板文件生成Word,以及Word轉(zhuǎn)換圖片或Pdf工具類

    一、寫在前面 最近在項(xiàng)目中使用打印功能,發(fā)現(xiàn)這個(gè)功能我已經(jīng)寫過多次了,下面這個(gè)文章的發(fā)步日期在2020年,不得不感慨時(shí)間之快啊。 https://blog.csdn.net/weixin_43238452/article/details/109636200?spm=1001.2014.3001.5501 下面介紹一下應(yīng)用場(chǎng)景:這次項(xiàng)目依舊是springboot項(xiàng)目,使用ftl模版生

    2024年02月15日
    瀏覽(38)
  • 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日
    瀏覽(25)
  • 使用freemarker,數(shù)據(jù)導(dǎo)出word并下載

    1.1 項(xiàng)目背景 最近在開發(fā)一個(gè)項(xiàng)目,需要導(dǎo)出一些數(shù)據(jù),然后寫入到word文檔中,然后再導(dǎo)出到本地,這個(gè)需求是比較常見的,但是我在網(wǎng)上找了很多資料,都沒有找到一個(gè)比較好的解決方案,所以就自己寫了一個(gè),這里分享給大家,希望能幫助到大家。 項(xiàng)目中使用的技術(shù)棧:

    2024年02月05日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包