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

Java?poi-tl根據(jù)模板生成word文件的完整指南

 更新時(shí)間:2025年12月30日 09:25:35   作者:宋情寫  
這篇文章主要為大家詳細(xì)介紹了Java?poi-tl根據(jù)模板生成word文件的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

基礎(chǔ)操作

本質(zhì)上是通過(guò)占位符進(jìn)行內(nèi)容替換

本文章僅操作docx格式的文檔

  • .doc (Word 97-2003): 使用OLE2格式,對(duì)應(yīng)POI的 HWPF 組件
  • .docx (Word 2007+): 使用OOXML格式,對(duì)應(yīng)POI的 XWPF 組件

基礎(chǔ)操作_模板部分

將模板放入resources 資源目錄下,自定義文件夾中,例如:templet/word_template/demo_template.docx

代碼部分

maven

		<!-- 用于生成word版報(bào)告 -->
		<dependency>
		    <groupId>com.deepoove</groupId>
		    <artifactId>poi-tl</artifactId>
		    <version>1.12.1</version>
		</dependency>

處理過(guò)程

	// 模板文件
    String templateFilePath = "templet/word_template/demo_template.docx";
    // 讀取模板文件
    InputStream templateIn = getClass().getClassLoader().getResourceAsStream(templateFilePath);

    // 插入文本數(shù)據(jù)
    Map<String, Object> templateData = new HashMap<String, Object>();
    templateData.put("str1", "替換成功");

    // 生成模板文件
    XWPFTemplate template = XWPFTemplate.compile(templateIn).render(templateData);
    
    // 寫入數(shù)據(jù)并關(guān)閉流
    template.writeAndClose(new FileOutputStream("D:/output.docx"));
    templateIn.close();

此時(shí),文件便下載到了 D:/output.docx 的位置。

若為Web

public void pgdExport(HttpServletResponse response) throws IOException {

        // 模板文件
        String templateFilePath = "templet/word_template/demo_template.docx";
        // 讀取模板文件
        InputStream templateIn = getClass().getClassLoader().getResourceAsStream(templateFilePath);

        // 插入文本數(shù)據(jù)
        Map<String, Object> templateData = new HashMap<String, Object>();
        templateData.put("str1", "替換成功");

        // 生成模板文件
        XWPFTemplate template = XWPFTemplate.compile(templateIn).render(templateData);
        ServletOutputStream outputStream = response.getOutputStream();

        // 防止文件以及文件名亂碼
        String fileName = "文件名.docx";
        String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
        response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\"; filename*=utf-8''" + encodedFileName);
        response.setCharacterEncoding("UTF-8");

			  // 寫入數(shù)據(jù)并關(guān)閉流
        template.writeAndClose(outputStream);
        templateIn.close();
    }
// 前端js代碼
// 如果此接口需要被鑒權(quán),那么需要后端同時(shí)從Params中獲取token,然后前端拼接token傳遞,否則此方法無(wú)法使用
// 需要注意跨域問(wèn)題
window.location.href =  '你的接口地址';

插入圖片

模板:占位符格式是{{@xxxx}}

代碼

import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.data.PictureType;
import com.deepoove.poi.data.Pictures;

templateData.put("img", Pictures.ofStream(in, PictureType.JPEG).size(300, 300).create());

參考文章:Java poi-tl根據(jù)模版生成word文件并插入文字、圖片、表格、圖表

到此這篇關(guān)于Java poi-tl根據(jù)模板生成word文件的完整指南的文章就介紹到這了,更多相關(guān)Java poi-tl模板生成word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用Spire.Doc for Java實(shí)現(xiàn)自動(dòng)化合并Word文檔

    Java使用Spire.Doc for Java實(shí)現(xiàn)自動(dòng)化合并Word文檔

    在日常辦公和軟件開發(fā)中,我們經(jīng)常會(huì)遇到需要將多個(gè) Word 文檔合并成一個(gè)的需求,本文將聚焦于 Spire.Doc for Java 這一功能強(qiáng)大的庫(kù),為您提供詳細(xì)的教程和實(shí)用的代碼示例,希望對(duì)大家有所幫助
    2025-12-12
  • Java線程使用同步鎖交替執(zhí)行打印奇數(shù)偶數(shù)的方法

    Java線程使用同步鎖交替執(zhí)行打印奇數(shù)偶數(shù)的方法

    這篇文章主要介紹了Java線程使用同步鎖交替執(zhí)行打印奇數(shù)偶數(shù)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 超級(jí)詳細(xì)Java?JDK環(huán)境配置教程(Mac?版)

    超級(jí)詳細(xì)Java?JDK環(huán)境配置教程(Mac?版)

    這篇文章詳細(xì)講解了在MacOS上安裝JDK及配置Java環(huán)境的步驟,包括下載JDK安裝包、安裝JDK、查詢安裝路徑以及配置環(huán)境變量,旨在為初學(xué)者提供一份保姆級(jí)的安裝指南,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • springboot實(shí)用配置詳細(xì)圖文教程

    springboot實(shí)用配置詳細(xì)圖文教程

    SpringBoot從本質(zhì)上來(lái)說(shuō)就是Spring,它通過(guò)了一些自己的特性幫助我們簡(jiǎn)化了Spring應(yīng)用程序的開發(fā),下面這篇文章主要給大家介紹了關(guān)于springboot實(shí)用配置的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存分析

    java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存分析

    這篇文章主要介紹了java應(yīng)用開發(fā)之JVM運(yùn)行時(shí)內(nèi)存,文中附含圖文示例內(nèi)容分析非常簡(jiǎn)要,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • java爬蟲之使用HttpClient模擬瀏覽器發(fā)送請(qǐng)求方法詳解

    java爬蟲之使用HttpClient模擬瀏覽器發(fā)送請(qǐng)求方法詳解

    這篇文章主要介紹了java爬蟲之使用HttpClient模擬瀏覽器發(fā)送請(qǐng)求方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 極簡(jiǎn)的Resty服務(wù)端和客戶端RESTful框架

    極簡(jiǎn)的Resty服務(wù)端和客戶端RESTful框架

    這篇文章主要為大家介紹了極簡(jiǎn)的Resty服務(wù)端和客戶端RESTful框架的好處及作用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Windows下使用IDEA搭建Hadoop開發(fā)環(huán)境的詳細(xì)方法

    Windows下使用IDEA搭建Hadoop開發(fā)環(huán)境的詳細(xì)方法

    這篇文章主要介紹了Windows下使用IDEA搭建Hadoop開發(fā)環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java實(shí)現(xiàn)順序表的操作

    Java實(shí)現(xiàn)順序表的操作

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)順序表的基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 使用Spring自定義實(shí)現(xiàn)IOC和依賴注入(注解方式)

    使用Spring自定義實(shí)現(xiàn)IOC和依賴注入(注解方式)

    這篇文章主要介紹了使用Spring自定義實(shí)現(xiàn)IOC和依賴注入(注解方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論

固始县| 浦北县| 阳春市| 炉霍县| 藁城市| 廊坊市| 苏尼特左旗| 兴安盟| 昌黎县| 油尖旺区| 瑞丽市| 刚察县| 永寿县| 丹棱县| 彭泽县| 敖汉旗| 肥西县| 视频| 仁布县| 凌云县| 长宁县| 西藏| 祁门县| 图片| 通河县| 资阳市| 嘉鱼县| 油尖旺区| 五原县| 兴国县| 武冈市| 蕲春县| 双鸭山市| 绍兴县| 凭祥市| 全州县| 遂溪县| 九龙城区| 新兴县| 吴堡县| 泸西县|