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

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

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

基礎(chǔ)操作

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

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

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

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

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

代碼部分

maven

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

處理過程

	// 模板文件
    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();

此時,文件便下載到了 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),那么需要后端同時從Params中獲取token,然后前端拼接token傳遞,否則此方法無法使用
// 需要注意跨域問題
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

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

    springboot實用配置詳細圖文教程

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

南漳县| 玉山县| 沐川县| 宜君县| 女性| 云南省| 留坝县| 滨州市| 嘉义市| 福安市| 昂仁县| 灌南县| 西安市| 安福县| 乃东县| 海盐县| 四会市| 南汇区| 海口市| 曲水县| 龙岩市| 固始县| 甘泉县| 青川县| 宁河县| 鄂伦春自治旗| 遵化市| 朝阳市| 上犹县| 罗平县| 靖边县| 夏津县| 蚌埠市| 乐平市| 墨玉县| 石嘴山市| 杭锦后旗| 都昌县| 和田市| 永泰县| 赤峰市|