精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java技術:SpringBoot集成FreeMarker生成word文件

開源
FreeMarker 是一款開源的模板引擎:是一種基于模板和要動態填充的數據,可以用來動態渲染生成輸出文本(HTML網頁,Word文檔,電子郵件,配置文件,源代碼等)的通用技術。

今天給大家分享SpringBoot集成FreeMarker模板引擎生成word文件的用法,感興趣的可以學一下,完整源碼地址在文章末尾處,歡迎互相溝通交流!

一、什么是FreeMarker?

FreeMarker 是一款開源的模板引擎:是一種基于模板和要動態填充的數據,可以用來動態渲染生成輸出文本(HTML網頁,Word文檔,電子郵件,配置文件,源代碼等)的通用技術。

模板編寫為FreeMarker Template Language (FTL):它是簡單的,專用的語言, 不是像PHP那樣擁有完整成熟的編程語言。所以它主要專注于如何展現數據,具體要展示什么數據那就需要成熟的編程語言來實現(Java、C#、Python)等。

FreeMarker原理圖如下:

二、示例代碼

1、導入freemarker依賴包

<!--freemarker制作Html郵件模板依賴包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

2、application.yml 配置freemarker

freemarker:
cache: false #是否啟用緩存,開發環境不建議啟動因為涉及經常修改模板調試
settings:
classic_compatible: true
suffix: .html #一般格式tpl居多
charset: UTF-8
template-loader-path: classpath:/templates/ #模板路徑,一般都是這個

3、新建IExportService.java 類

package com.springboot.email.email.service;

import javax.servlet.http.HttpServletResponse;
import java.util.Map;

public interface IExportService {
/**
* 導出word文件到指定目錄
*/
void exportDocFile(String fileName, String tplName, Map<String, Object> data) throws Exception;
/**
* 導出word文件到客戶端
*/
void exportDocToClient(HttpServletResponse response, String fileName, String tplName, Map<String, Object> data) throws Exception;
}

4、新建IExportService.java接口實現類ExportServiceImpl.java

package com.springboot.email.email.service.impl;

import com.springboot.email.email.service.IExportService;
import freemarker.template.Template;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.Map;

@Service
public class ExportServiceImpl implements IExportService {
private String encoding;
private String exportPath = "D:\\export\\";
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
public Template getTemplate(String name) throws Exception {
return freeMarkerConfigurer.getConfiguration().getTemplate("test.html");
}


/**
* 導出本地文件到指定的目錄
*/
@Override
public void exportDocFile(String fileName, String tplName, Map<String, Object> data) throws Exception {
//如果目錄不存在,則創建目錄
File exportDirs = new File(exportPath);
if (!exportDirs.exists()) {
exportDirs.mkdirs();
}
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(exportPath + fileName), encoding));
getTemplate(tplName).process(data, writer);
}

/**
* 導出word文件到瀏覽器客戶端
*/
@Override
public void exportDocToClient(HttpServletResponse response, String fileName, String tplName, Map<String, Object> data) throws Exception {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/msword");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName , "UTF-8"));
// 把本地文件發送給客戶端
Writer out = response.getWriter();
Template template = getTemplate(tplName);
template.process(data, out);
out.close();
}
}

5、新建模板文件test.html

具體文件參考源碼,模板文件的制作方式,新建word文件調整格式后→另存為xml格式的文件→局部調整文件循環標記→然后格式保存為html格式的文件 放在項目當中去。

如果有不清楚的可以留言交流。

6、新建測試類ExportController.java

@RestController
@RequestMapping("/export")
public class ExportController {
@Autowired
private IExportService exportService;
@RequestMapping(value = "/testWord", method= RequestMethod.GET)
public void exportWord(HttpServletRequest request, HttpServletResponse response) throws Exception {
String fileName = "測試word導出.doc"; //文件名稱
// 設置頭部數據
Map<String,Object> dataMap = new HashMap<>();
dataMap.put("name","小明");
dataMap.put("regAddress","蘇州");
// 設置表格數據
List<ScoreVo> list=new ArrayList<>();
ScoreVo vo1=new ScoreVo();
vo1.setCourseName("英語");
vo1.setScore(95);
vo1.setRank(3);
ScoreVo vo2=new ScoreVo();
vo2.setCourseName("數學");
vo2.setScore(100);
vo2.setRank(1);
list.add(vo1);
list.add(vo2);
dataMap.put("courseList",list);
exportService.exportDocToClient(response, fileName, "test.html", dataMap);
}
}

訪問地址:http://localhost:8080/export/testWord

導出文件效果:

Gitee地址:https://gitee.com/hgm1989/springboot-email.git

責任編輯:武曉燕 來源: IT技術分享社區
相關推薦

2024-09-03 08:26:59

Spring格式模板

2011-06-23 09:13:20

JavaWord

2017-07-06 14:32:27

靜態化FreeMarkerjava

2024-07-15 15:05:20

Python數據驅動

2021-07-11 07:05:28

RedisSpringBoot用法

2023-01-11 15:11:36

SpringEhcache

2021-05-26 06:22:34

SpringBootJPA后端開發

2021-06-05 07:34:00

SpringBootMybatis用法

2012-03-06 15:34:05

JavaFreeMarker

2024-03-15 14:34:12

Oracle數據庫一鍵巡檢

2021-04-21 09:04:43

開發SpringBoot框架

2023-02-14 07:47:20

SpringBootEhcache

2009-08-07 09:19:13

云計算集成技術

2012-05-14 17:21:19

ibmdw

2009-09-01 11:25:08

C#讀取Word文件

2024-11-29 12:58:13

2009-08-18 13:35:08

C#動態生成Word文

2021-06-25 10:05:58

SpringBootMySQL數據庫

2021-03-22 08:06:59

SpringBootSentinel項目

2012-11-28 11:14:39

IBMdW
點贊
收藏

51CTO技術棧公眾號

久热国产精品| 2022成人影院| 成人av网站免费| 日韩免费在线看| 后入内射无码人妻一区| 精品国产鲁一鲁****| 亚洲成人777| 丝袜足脚交91精品| 亚洲精品一区二区三区不卡| 日日噜噜夜夜狠狠视频欧美人| 日韩资源在线观看| 亚洲午夜久久久久久久久| 日日夜夜天天综合| 亚洲综合999| 亚洲欧美久久久久一区二区三区| 二区三区在线视频| 蜜臀a∨国产成人精品| 国内精久久久久久久久久人| 国产一二三av| 欧美三级电影在线| 欧美日韩国产首页| 日本免费不卡一区二区| 最新黄网在线观看| 欧美激情自拍偷拍| 精品国产乱码久久久久久蜜柚 | 欧美日韩xx| 91影院在线观看| 亚洲aⅴ男人的天堂在线观看 | 欧美乱熟臀69xxxxxx| 高清在线观看免费| 特级毛片在线| 国产精品国产三级国产普通话蜜臀 | 九九在线高清精品视频| 欧美一区二区女人| 婷婷免费在线观看| 韩国美女久久| 黄色一区二区在线| 青春草国产视频| 黄色视屏免费在线观看| 国产精品丝袜久久久久久app| 久久综合给合久久狠狠色| 亚洲精品国产精品国| 国产美女一区二区| 成人国产精品免费视频| 亚洲影视九九影院在线观看| 亚洲成人性视频| 亚洲成人网上| 欧美中文在线| 久久综合久久久久88| 精品视频第一区| 黄色片一区二区三区| 国产精品亚洲成人| 亚洲在线免费观看| 国产欧美日韩成人| 狠狠色2019综合网| 成人黄色av播放免费| 在线亚洲欧美日韩| 理论片日本一区| 成人免费观看网址| 国产sm主人调教女m视频| 国产在线乱码一区二区三区| 91欧美日韩一区| 国产人妻精品一区二区三区| 国产麻豆成人精品| 不卡视频一区二区三区| 亚洲欧美强伦一区二区| www.亚洲免费av| 久久久久成人精品免费播放动漫| 色鬼7777久久| 国产欧美一区二区精品仙草咪| 欧美精品人人做人人爱视频| 丁香婷婷在线观看| 中文字幕日韩一区二区| 经典三级在线视频| 精灵使的剑舞无删减版在线观看| 午夜精品久久久久久久久久| 久久成人免费观看| 色婷婷综合久久久中字幕精品久久| 欧美在线影院一区二区| 老司机久久精品| av成人男女| 国产午夜精品麻豆| youjizz亚洲女人| 亚洲欧洲中文字幕| 97人人模人人爽人人喊中文字| 亚洲天堂网在线观看| 女人被男人躁得好爽免费视频| wwwwxxxx在线观看| 香蕉乱码成人久久天堂爱免费| 日批视频在线免费看| www.26天天久久天堂| 欧美无乱码久久久免费午夜一区| 国产精品自在自线| 超碰97久久| 亚洲性线免费观看视频成熟| 日韩欧美123区| 在线视频亚洲| 国产情人节一区| 日韩一卡二卡在线| 国产成人视屏| 国内精品久久久久久久影视麻豆 | 亚洲天堂岛国片| 一级毛片免费高清中文字幕久久网| 久久久久久中文| 狠狠躁夜夜躁人人爽视频| 国产毛片精品国产一区二区三区| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 欧美美女在线直播| 按摩亚洲人久久| 久久久久亚洲av成人毛片韩| 久久 天天综合| 久久综合毛片| 国产精品国精产品一二| 欧美日韩aaa| 国产精品第七页| 欧美91大片| 国产精品一区二区三区免费视频| 色婷婷av一区二区三| 亚洲欧洲成人自拍| 欧美精品第三页| 大陆精大陆国产国语精品| 宅男66日本亚洲欧美视频| 日韩av免费网址| 国产一区二区调教| 午夜精品福利一区二区| 亚洲精品动漫| 日韩av在线免费观看| 美女的奶胸大爽爽大片| 老司机免费视频一区二区| 奇米影视首页 狠狠色丁香婷婷久久综合 | 91精品国产高清自在线| 国产suv一区二区| 国产精品久久网站| 999精品网站| 亚洲精华一区二区三区| 国内偷自视频区视频综合| 国产免费黄色网址| 国产三级电影在线| www.久久精品视频| 欧洲av一区二区三区| mm131国产精品| 中文字幕一区二区中文字幕| 成人18视频| 久久久久久国产免费| x99av成人免费| 国产一区二区丝袜高跟鞋图片| 精品无码人妻一区二区三区品| 精品亚洲免费视频| 亚洲一区美女| 91在线成人| 亚洲欧洲午夜一线一品| 四虎成人在线观看| 91麻豆.com| 日本精品www| 国产剧情在线观看一区| 国产精品成人国产乱一区 | 黄色三级中文字幕| 亚洲日本视频在线| 欧美极品少妇xxxxx| 国产91麻豆视频| 五月婷婷色综合| 少妇真人直播免费视频| 日韩精品亚洲一区| 亚洲国产精品123| 成人在线免费av| 久久香蕉国产线看观看av| 国产色在线视频| 亚洲超丰满肉感bbw| 免费看黄色aaaaaa 片| 免费日韩av| 亚洲欧洲日韩综合二区| 国产色99精品9i| 久久全国免费视频| 久久经典视频| 欧美日韩国产乱码电影| 久久久久久久黄色| 日韩三区免费| 欧美色视频在线| 极品盗摄国产盗摄合集| 懂色av一区二区三区蜜臀| 日本精品www| 婷婷色综合网| 国产欧美日韩在线播放| 欧美成a人片在线观看久| 少妇精69xxtheporn| 99在线无码精品入口| 精品人伦一区二区三区蜜桃免费| 亚洲v国产v欧美v久久久久久| 久久成人免费网站| 福利视频一区二区三区四区| 欧洲激情视频| 97久久天天综合色天天综合色hd | 高跟丝袜欧美一区| 538精品视频| 国产成人在线影院| 青青在线视频免费| 综合在线视频| 欧洲在线视频一区| 9l视频自拍九色9l视频成人| 国产精品精品久久久| 91精品久久久| 一本久久综合亚洲鲁鲁| 精品久久久无码中文字幕| 欧美日韩一区二区在线| 懂色av懂色av粉嫩av| 久久网这里都是精品| 亚洲三级在线视频| 日韩成人精品视频| 97在线国产视频| 久久亚洲影视| 日本不卡一区二区三区在线观看 | 视频在线观看成人| 理论片一区二区在线| 成人xvideos免费视频| 亚洲日本天堂| 久久久久久久久久国产| 欧美尤物美女在线| 亚洲欧美国产精品久久久久久久 | 国产午夜精品全部视频在线播放 | av动漫在线看| 欧美激情第10页| 亚洲精品久久久久久一区二区| 女同另类激情重口| 91文字幕巨乱亚洲香蕉| 六九午夜精品视频| 国产成人在线一区| 中文在线а√在线8| 国模精品视频一区二区| 视频在线观看入口黄最新永久免费国产 | 欧美日韩在线播| 久久久精品视频网站| 精品久久久久久中文字幕一区奶水| 蜜臀av午夜精品久久| 国产精品区一区二区三| 国产综合精品久久久久成人av| 久久免费视频一区| 国产全是老熟女太爽了| 不卡视频在线观看| 亚洲视频天天射| 粉嫩在线一区二区三区视频| 丰满少妇中文字幕| 国产精品一区二区三区网站| 色综合五月婷婷| 国产在线播放一区三区四| 日本中文字幕精品—区二区| 蜜桃视频第一区免费观看| 一区二区在线播放视频| 久久一日本道色综合久久| 久久美女福利视频| 亚洲在线播放| 999香蕉视频| 丝袜美腿亚洲一区| 亚洲天堂av线| 精品一区二区三区视频在线观看 | 伊人久久噜噜噜躁狠狠躁| 亚洲精品日韩激情在线电影| 欧美一区在线观看视频| 超碰97在线资源| 久久成人福利| 人偷久久久久久久偷女厕| 欧美精品尤物在线观看| 五月婷婷综合色| 欧美国产另类| 霍思燕三级露全乳照| 性久久久久久| 天天干天天草天天| 国产精品资源站在线| 涩视频在线观看| 久久影音资源网| 国产三级aaa| 亚洲激情成人在线| 天天操天天干视频| 日本久久精品电影| 一区不卡在线观看| 精品美女一区二区三区| 熟妇高潮一区二区三区| 亚洲日本中文字幕| 国产原创在线观看| 97激碰免费视频| 欧美美女被草| 丁香五月网久久综合| 蜜桃一区二区三区| 中文字幕综合在线观看| 亚洲网站在线| 熟妇人妻无乱码中文字幕真矢织江| 久久99精品久久久| 插我舔内射18免费视频| 国产精品天美传媒| 日产精品久久久久久久| 欧美日本国产视频| 日本免费网站在线观看| www.午夜精品| 午夜影院在线播放| 成人国产精品一区| 亚洲美女15p| 日韩一二区视频| 日韩av网站免费在线| wwwww在线观看| 日本一区二区综合亚洲| 久久久久亚洲天堂| 欧美亚洲动漫精品| 少妇精品高潮欲妇又嫩中文字幕| 中文字幕在线看视频国产欧美在线看完整 | 国产一区亚洲| 国产又大又黄又粗又爽| 不卡在线观看av| 日本一级片免费| 色综合久久综合网97色综合| 亚洲av综合色区无码一区爱av| 在线不卡国产精品| 免费在线小视频| 99中文视频在线| 四虎成人精品永久免费av九九| 奇米精品一区二区三区| 国产精品一品视频| 国产午夜福利一区| 欧美午夜宅男影院在线观看| www.国产视频| 久久久国产在线视频| 亚洲日本在线观看视频| 久久99精品久久久久久三级| 欧美成人日韩| 91精品国产三级| 欧美高清在线一区二区| 一本一道无码中文字幕精品热| 欧美电影免费观看完整版| 黄色av网站在线播放| 国产日韩欧美自拍| 国产一区二区欧美| www.爱色av.com| 99re视频这里只有精品| 日韩欧美亚洲视频| 欧美成人aa大片| 五月花成人网| 亚洲va电影大全| 亚洲高清资源在线观看| 久国产精品视频| 最新国产の精品合集bt伙计| 91尤物国产福利在线观看| 视频直播国产精品| 精品国产欧美日韩一区二区三区| 日本不卡一区二区三区视频| 久久久久国产精品午夜一区| 最新中文字幕视频| 欧美性69xxxx肥| 欧美精品a∨在线观看不卡| 欧美在线一级视频| 偷拍一区二区| 欧美 激情 在线| 久久久国产精华| 成人黄色三级视频| 色偷偷888欧美精品久久久| 成人四虎影院| 在线丝袜欧美日韩制服| 国产在线视频精品一区| 久久精品波多野结衣| 亚洲精品一线二线三线| 蜜桃视频www网站在线观看| 久久国产精品 国产精品| 亚洲一区日本| 日本欧美一区二区三区不卡视频| 欧美蜜桃一区二区三区| 亚洲制服国产| 国产亚洲欧美另类一区二区三区| 国产日韩精品视频一区二区三区| 色哟哟精品观看| 精品视频在线免费| 成人福利片网站| 国产综合第一页| 奇米777欧美一区二区| 黄色录像一级片| 精品日韩一区二区| 亚洲天堂手机| 亚洲人一区二区| 粉嫩一区二区三区性色av| 国产成人精品网| 亚洲最大在线视频| 欧洲大片精品免费永久看nba| 日本xxxxxxxxxx75| 国产亚洲成年网址在线观看| 国产精品一品二区三区的使用体验 | 国产aⅴ激情无码久久久无码| 欧美日韩高清在线播放| 欧美24videosex性欧美| 欧美一区1区三区3区公司| 精品夜夜嗨av一区二区三区| 日韩av综合在线| 日韩一区二区在线视频| 国产图片一区| 亚洲一区精品视频在线观看| 欧美日韩免费在线| 欧美天天影院| 国产一区二区在线网站| 久久99久久精品| 天天干天天干天天| 欧美成人国产va精品日本一级| 香蕉久久夜色精品国产更新时间| 日本中文字幕精品—区二区| 欧美日韩亚洲一区二区三区| 国产视频一区二区|