网站的建设公司哪家好,做一百度网站,义乌网站建设公司哪家好,电子商务网站建设考试重点文章目录 与其他模版引擎对比1.引入maven依赖包2.新建Word文档exportWprd.docx模版3.编写导出word接口代码4.导出成果 poi-tl是一个基于Apache POI的Word模板引擎#xff0c;也是一个免费开源的Java类库#xff0c;你可以非常方便的加入到你的项目中#xff0c;并且拥有着让… 文章目录 与其他模版引擎对比1.引入maven依赖包2.新建Word文档exportWprd.docx模版3.编写导出word接口代码4.导出成果 poi-tl是一个基于Apache POI的Word模板引擎也是一个免费开源的Java类库你可以非常方便的加入到你的项目中并且拥有着让人喜悦的特性。中文网站
可以通过word模版引擎渲染文本、图片、表格、列表数据可以渲染条形图3D条形图、柱形图3D柱形图、面积图3D面积图、折线图3D折线图、雷达图、饼图3D饼图、散点图等图表渲染可以根据条件隐藏或者显示某些文档内容包括文本、段落、图片、表格、列表、图表等可以根据集合循环某些文档内容包括文本、段落、图片、表格、列表、图表等支持设置书签文档内锚点和超链接功能模板即样式同时代码也可以设置样式插件化设计在文档任何位置执行函数
与其他模版引擎对比 1.引入maven依赖包
1引入poi-tl包
dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.12.2/version
/dependency2因为poi-tl依赖于Apache POI5.2.2所以必须映入poi依赖包
dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion5.2.2/version
/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion5.2.2/version
/dependency
dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml-schemas/artifactIdversion4.1.2/version
/dependency
dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-scratchpad/artifactIdversion5.2.2/versionscopecompile/scope
/dependency3继续 引入poi-tl需要的commons-io与log4j-api依赖包必须引入否则会报错报错如下
dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version
/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.14.1/version
/dependency不引入会导致报错报错如下 2.新建Word文档exportWprd.docx模版
在静态资源目录下resources/static/templates新建exportWord.docx编写以下模版内容
3.编写导出word接口代码 GetMapping(/exportWord)public void exportWord(HttpServletResponse response) throws FileNotFoundException {//存放数据也就是填充在word里面的值MapString, Object params new HashMap();params.put(title,测试使用poi-tl模版导出word);params.put(ceshi,测试使用poi-tl模版导出word);params.put(name,张三);params.put(text,知之为知之不知为不知);//模板路径// String templatePath E:\\demo\\word.docx;// 或模板在静态资源的相对路径File rootFile new File((ResourceUtils.getURL(classpath:).getPath()));File templateFile new File(rootFile, /static/templates/exportWord.docx);//jar包获取不到文件路径//URLDecoder.decode() 解决获取中文名称文件路径乱码String templatePath URLDecoder.decode(templateFile.getPath());//生成文件名String fileName new SimpleDateFormat(yyyyMMddHHmmss).format(new Date()) _ System.currentTimeMillis();// 导出woldtry {// 导出Word文档为文件XWPFTemplate template XWPFTemplate.compile(templatePath).render(params);// 将导出的Word文件转换为流response.setContentType(application/octet-stream);response.setHeader(Content-disposition,attachment;filename\fileName.docx\);// HttpServletResponse responseOutputStream out response.getOutputStream();BufferedOutputStream bos new BufferedOutputStream(out);template.write(bos);bos.flush();out.flush();// 最后不要忘记关闭这些流。PoitlIOUtils.closeQuietlyMulti(template, bos, out);} catch (Exception e) {System.out.println(导出Word文档时出现异常 e.getMessage());}}4.导出成果