http://wenku.baidu.com/link?url=YxTZWVP3ssO-e_Br3LIZVq2xOQnqaSz8gLPiRUDN8NIR_wX2-Z25OqwbVn5kXqGiOFYUMBsaMlWcbHld565N5ENMBTrUOp_-rsrsjIMBlgi

  1. public class WordUtil {
  2. private Configuration configuration=null;
  3.  
  4. public WordUtil () {
  5. configuration = new Configuration();
  6. configuration.setDefaultEncoding("utf-8");
  7. }
  8.  
  9. public void createDoc(HttpServletRequest request) {
  10. //要填入模板的数据文件
  11. Map dataMap=new HashMap();
  12. get(dataMap);
  13.  
  14. configuration.setServletContextForTemplateLoading(request.getServletContext(), "/WEB-INF/freemarker");
  15. try {
  16. Template t=configuration.getTemplate("paperTemplate.flt");
  17. t.setEncoding("UTF-8");
  18. //D:\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Ztree\WEB-INF\freemarker\exam.doc
  19. String path=request.getSession().getServletContext().getRealPath("/WEB-INF/freemarker/exam.doc");
  20. Writer out=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path), "UTF-8"));
  21. t.process(dataMap, out);
  22. out.close();
  23.  
  24. } catch (TemplateNotFoundException e) {
  25. e.printStackTrace();
  26. } catch (MalformedTemplateNameException e) {
  27. e.printStackTrace();
  28. } catch (ParseException e) {
  29. e.printStackTrace();
  30. } catch (IOException e) {
  31. e.printStackTrace();
  32. } catch (TemplateException e) {
  33. // TODO 自动生成的 catch 块
  34. e.printStackTrace();
  35. }
  36. }
  37.  
  38. //注意dataMap里存放的数据Key值要与模板中的参数相对应
  39. private void get(Map dataMap) {
  40. dataMap.put("title", "java笔试试卷");
  41. List<Map<String, Object>> namelist=new ArrayList<Map<String,Object>>();
  42. for (int i = 0; i < 5; i++) {
  43. Map<String, Object> map=new HashMap<String, Object>();
  44. map.put("xz1", i+1);
  45. map.put("xz2", "下面哪些是Thread类的方法()"+(i+1));
  46. map.put("ans1", "A start()");
  47. map.put("ans2", " B run()");
  48. map.put("ans3", "C exit()");
  49. map.put("ans4", "D getPriority()");
  50. namelist.add(map);
  51. }
  52. dataMap.put("namelist", namelist);
  53. }

利用freemarker生成word,word另存为xml文件的标签解析的更多相关文章

  1. JSP利用freemarker生成基于word模板的word文档

    利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...

  2. 利用freemarker生成带fusioncharts图片的word简报

    /**  * 利用freemarker生成带fusioncharts图片的word简报  *         烟台海颐软件技术论坛  *         作者  牟云飞 新建 *         毕业 ...

  3. 如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式

    如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式 首先我们来说说为何要生成sourceMap文件呢?简单的说,sourceMap是为了压缩后的代码调式提 ...

  4. org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope on: org.dom4j.tree.DefaultElement (dom4j写入XML文件,标签中带【:】(冒号)解决办法)

    用dom4j操作写XML文件,标签中含有冒号,会报 org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope o ...

  5. 对xml文件的sax解析(增删改查)之一

    crud(增删改查): c:creat r:retrieve u:update d:delete 以下笔记来自于韩顺平老师的讲解. 现在是用java来操作. 第一步:新建java工程.file-new ...

  6. 通过freemarker生成一个word,解决生成的word用wps打开有问题的问题,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表

     通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名 ...

  7. maven的pom.xml文件的标签详解

    该博文引至:https://www.cnblogs.com/hafiz/p/5360195.html <project xmlns="http://maven.apache.org/P ...

  8. Pugixml一种快速解析XML文件的开源解析库

    Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...

  9. 对xml文件的sax解析(增删改查)之二

    先上代码: package com.saxparsetest; //the filename of this file is :saxparse.java import javax.xml.parse ...

随机推荐

  1. 编译LAMP部署动态网站环境

    LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --&g ...

  2. C# 如何正确删除控件已添加的事件

    方法一:在相对应里窗体下面有个 "窗体.Designer.cs"文件,双击打开,找到相关事件,删除就行. 方法二:找到构造函数,“InitializeComponent()”对着它 ...

  3. luogu P5504 [JSOI2011]柠檬

    bgm(雾) luogu 首先是那个区间的价值比较奇怪,如果推导后可以发现只有左右端点元素都是同一种\(s_x\)的区间才有可能贡献答案,并且价值为\(s_x(cnt(x)_r-cnt(x)_{l-1 ...

  4. linux之信息查看

    在使用Linux操作系统的时候,有时候会需要了解当前使用的系统版本信息,特别是在给别人进行服务器部署运维的时候,准确的系统版本信息至关重要 查看linux内核版本信息: cat  /proc/vers ...

  5. SQL-Serverの自動採番(IDENTITY値)の取得・リセット

    システムに必要なテーブルで.自動的に番号を振っていくものが必要なときがあります. たとえば.各種の伝票データの伝票番号の様なものです. プログラム処理上.データを登録した直後に.自動採番された値を取得 ...

  6. php连接阿里云mysql

    1.开启Mysql远程访问端口 现在服务器控制台,安全组那边开启3306端口 2.修改Mysql配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-a ...

  7. 6.redis

    1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...

  8. 文件I/O简述

    什么是I/O 宏观上讲,I/O是信息处理系统(例如计算机)与外部世界(可能是人或其他信息处理系统)之间的通信.输入(Input)是系统接收的信号或数据,输出(Output)是从其发送的信号或数据.另一 ...

  9. 小程序UI设计(6)-布局分解-九宫格

    今天我们来个庖丁解牛.对于一个完整的组合组件,看看通过工具是如何轻松完成的.首先看看九宫格完整的样子. 结构树是这样的.在结构树中,我们可以看到WViewColumn下面有九个WViewRow.WVi ...

  10. double to long

    obj to double obj to long instance of Bigdecimal public static void main(String[] args) throws Parse ...