java通过上传模板和配置xml导出word
来源:互联网 发布:thomson one 数据库 编辑:程序博客网 时间:2024/06/01 22:46
java通过解析ftl文件动态生成word。
import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.net.URLEncoder;import java.util.Map;import javax.servlet.http.HttpServletResponse;import freemarker.template.Configuration;import freemarker.template.Template;public class ExportWord { /** * 导出Word文档公用方法 * @param templateName 模板名称 * @param configuration 配置信息 * @param fileName 文件名称 * @param dataMap 模板加载数据 * @param downloadFileName 浏览器下载文件的名称 * @param response * @throws Exception */ public static void exportWord(String templateName,Configuration configuration,String fileName,Map<Object,Object> dataMap,String downloadFileName,HttpServletResponse response) throws Exception{ configuration.setDefaultEncoding("utf-8"); Template t = null; t = configuration.getTemplate(templateName); File file=new File("E:/temp"); if(!file.exists()){ file.mkdirs(); } StringBuffer sb = new StringBuffer(fileName); fileName = sb.toString(); if(sb.length()>80){ fileName = sb.toString().replace("\\","") .replace("/", "") .replace("*", "") .replace("?", "") .replace("<", "") .replace(">", "") .replace("|", ""); fileName = sb.substring(0, 80);//word文档128个字长度算越界 } if(fileName.length()<3) { fileName += "xxx"; } File outFile = file.createTempFile(fileName.toString(), ".doc", file); Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8")); t.process(dataMap, out); InputStream is = new FileInputStream(outFile); response.reset(); response.setContentType("application/vnd.ms-word;charset=UTF-8"); response.addHeader("Content-Disposition","attachment; filename=\"" +URLEncoder.encode(downloadFileName+".doc", "UTF-8")+ "\""); byte[] b = new byte[1024]; int len; while ((len=is.read(b)) >0) { response.getOutputStream().write(b,0,len); } is.close(); response.getOutputStream().flush(); response.getOutputStream().close(); }}
阅读全文
0 0
- java通过上传模板和配置xml导出word
- java xml模板导出word
- 通过xml方式根据word模板导出word
- Java通过IText导出word和pdf
- java导出word模板
- java导出word模板
- 在java 用xml模板通过freemarker生成word文档
- java freemarker 通过ftl模板文件导出word文件发现在有中文地方出现在乱码,打开word文件提示xml错误解决办法
- java中word模板导出
- 模板导出word和 EXcel
- java 通过velocity导出word
- java操作xml导出word
- java 通过模板导出excel
- Java使用freemarker导出word模板
- java freemarker模板 实现word文件导出
- 【java】模板freemarker实现word生成导出
- java根据ftl模板导出word文档
- java导出简单的word模板
- spring cloud搭建微服务second-fiberhome(一):spring boot工程搭建及config服务
- 微信小程序组件解读和分析:十二、picker滚动选择器
- JUnit单元测试框架的使用
- 删除用户
- 正则表达式小记
- java通过上传模板和配置xml导出word
- jsp获取当前页面的链接地址
- 《Android那些事》——SharedPreference的简单使用
- 网页的获取和解析
- 原型模式
- java 中使用枚举
- C++学习(23)
- java注解的理解和框架中的利用
- React-Redux总结1