JAVA WEB 导出 Word
2015-10-26 17:52
441 查看
JAVA WEB 导出 Word 首先需要一个freemarker.jar的包 先用Word做一个模板,最后格式转为.ftl /*********************************************************************************************************************************************************************/ private Configuration configuration = null; public ExportService() { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); } public void createDoc(Map<String,Object> dataMap,String fileName) throws UnsupportedEncodingException { //dataMap 要填入模本的数据文件 //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载, //这里我们的模板是放在template包下面 configuration.setClassForTemplateLoading(this.getClass(), "/com/yitian/um/modules/export"); Template t=null; try { //test.ftl为要装载的模板 t = configuration.getTemplate("project.ftl"); } catch (IOException e) { e.printStackTrace(); } //输出文档路径及名称 File outFile = new File(fileName); Writer out = null; FileOutputStream fos=null; try { fos = new FileOutputStream(outFile); OutputStreamWriter oWriter = new OutputStreamWriter(fos,"UTF-8"); //这个地方对流的编码不可或缺,使用main()单独调用时,应该可以,但是如果是web请求导出时导出后word文档就会打不开,并且包XML文件错误。主要是编码格式不正确,无法解析。 //out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile))); out = new BufferedWriter(oWriter); } catch (FileNotFoundException e1) { e1.printStackTrace(); } try { t.process(dataMap, out); out.close(); fos.close(); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /**********************************************************************************************************************************************************************/ public void exportWord(@RequestParam("id")final long id) throws UnsupportedEncodingException{ Map<String,Object> dataMap = projectService.findById(id); exportService.createDoc(dataMap,"D:/project.doc"); } /*********************************************************************************************************************************************************************/ <pre name="code" class="plain"><strong><span style="font-size:18px;">JQuery EasyUI 新开QQ交流群 511830793</span></strong>
<strong><span style="font-size:18px;"> 欢迎大家前来与我一起学习,共同进步</span></strong>
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统