首先要先制作一个word模板,转成xml,并整理成自己要的样式,添加进项目

然后代码如下:

前台

function createWord() {debugger      var form = $("<form></form>").attr("action", "CreateWordRrport.action").attr("method", "post");
//创建formform.append($("<input></input>").attr("type", "hidden").attr("name", "downloadType").attr("value", "简报管理"));for(var item in sendData){form.append($("<input></input>").attr("type", "hidden").attr("name", item).attr("value", sendData[item]));}form.appendTo('body').submit().remove();}

其中sendData是后台Getaction返回的数据赋值给sendData

输出word后台代码

private String filePath; //文件路径private String fileName; //文件名称private String fileOnlyName; //文件唯一名称public String getFilePath() {return filePath;
}public void setFilePath(String filePath) {this.filePath = filePath;
}public String getFileName() {return fileName;
}public void setFileName(String fileName) {this.fileName = fileName;
}public String getFileOnlyName() {return fileOnlyName;
}public void setFileOnlyName(String fileOnlyName) {this.fileOnlyName = fileOnlyName;
}public String CreateWordRrport(){HttpServletRequest request= ServletActionContext.getRequest();Session dbSession = HibernateSessionFactory.getSession();String downloadType=request.getParameter("downloadType");String staffId=request.getParameter("staffId");String reportName=request.getParameter("reportName");String reportTime=request.getParameter("reportTime");String pageviews=request.getParameter("pageviews");Map<String, Object> dataMap = new HashMap<>();dataMap.put("staffId", staffId);dataMap.put("reportName", reportName);dataMap.put("reportTime", reportTime);dataMap.put("pageviews", pageviews);/** 文件名称,唯一字符串 */Random r=new Random();SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd_HHmmss_SSS");StringBuffer sb=new StringBuffer();sb.append(sdf1.format(new Date()));sb.append("_");sb.append(r.nextInt(100));//文件路径filePath=ServletActionContext.getServletContext().getRealPath("/")+"Report";//文件唯一名称fileOnlyName = downloadType+sb+".doc";//文件名称fileName=downloadType+sb+".doc";/** 生成word */DocCreater.createWord(dataMap, "简报管理.xml", filePath, fileOnlyName);return "createWordSuccess"; }public String dowloadWord() {/** 先判断文件是否已生成  */try {//解决中文乱码filePath = URLDecoder.decode(filePath, "UTF-8");fileOnlyName = URLDecoder.decode(fileOnlyName, "UTF-8");fileName = URLDecoder.decode(fileName, "UTF-8");//如果文件不存在,则会跳入异常,然后可以进行异常处理new FileInputStream(filePath + File.separator +  fileOnlyName);} catch (Exception e) {e.printStackTrace();return "error";}return "dowloadWord";}

xml配置

 <action name="CreateWordRrport" class="com.ps.action.WordAction" method="CreateWordRrport"><result name="createWordSuccess" type="redirectAction"><param name="actionName">dowloadWord</param><param name="filePath">${filePath}</param><param name="fileOnlyName">${fileOnlyName}</param><param name="fileName">${fileName}</param><param name="encode">true</param></result></action>

java 生成输出Word相关推荐

  1. Java如何输出Word报告

    目录 思路: 注意事项 很多企业每月或每季都会出销售报告或绩效报告等,通常都是以PPT文件的形式上报给公司领导或客户. 因PPT在java运用中有所局限(有精通此方面的同行可具体沟通)本人做过的项目则 ...

  2. java生成pdf(word模板转html,html再转pdf)

    场景描述: 公司需要做一个打印功能,采用生成PDF的形式.由于PDF需要动态生成某些行,不能采用制作PDF表单的形式,word文档直接转PDF的形式会导致排版不美观.由于需要部署在linux服务器,采 ...

  3. 用JAVA写的word模板自动生成引擎

    大家好,我是TJ 一个励志推荐10000款开源项目与工具的程序员 TJ君做项目的时候最头疼什么?当然是写各种文档啦,尤其是在大公司做项目,各种规范文档不可少,虽然说一个成熟的项目管理过程中的确是要依靠 ...

  4. PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】...

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根 ...

  5. java 解析word模板为xml, 动态填充数据到xml,最后输出word文档

    java 解析word模板为xml, 动态填充数据到xml,最后输出word文档 在项目中, 一开始是使用java Apache poi 根据word模板生成word报表, 后面发现框架有个低版本的p ...

  6. java使用Spire.Doc生成的word文件去除水印(头部的警告信息)

    1.需求 通过word模板和库表中数据动态生成word文档. word操作工具本身自带word转xml(直接另存为xml即可). 但是需求明确了,只能用word模板,也不允许用户手动从word转xml ...

  7. java生成word几种解决方案

    1. Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用 ...

  8. java response 输出word_如何使用java代码导出word

    前言: 导出word的需求其实在日常工作中用到的地方还不少,于是想写一篇文章好好记录一下,在导出之前,需要了解一下关于浏览器如何处理servlet的后台数据.具体可以了解一下http通信下载行为在se ...

  9. java 生成word表格

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案.(需要下载jacob.jar以及jacob.dl ...

最新文章

  1. JQuery 实现 锚点跳转
  2. python二十一:文件操作
  3. linux4.19安装教程,树莓派4安装Ubuntu 19.10的教程详解
  4. 对计算机图形学知识总结第二版,计算机图形学入门总结!
  5. 「Python」 ElementTree模块解析xml文件,建议小白阅读全文
  6. (android实战)Service 生命周期和使用注意项
  7. [Animations] 快速上手 iOS10 属性动画
  8. 【今日CV 计算机视觉论文速览 第134期】Fri, 21 Jun 2019
  9. eclipse导入maven项目
  10. SQL Server数据库可疑处理
  11. Windows下SVN提交模板制作及应用
  12. 苹果库乐队怎么玩_苹果手机使用技巧(例iPhone11)
  13. 【UI设计】零基础带你入门UI设计
  14. 雨落无声-开博啦........
  15. form-group 两种常用使用
  16. Nginx proxy、rewrite、alias配置
  17. Fragment的onCreate和onCreateView区别
  18. not exists 中from 后面不同写法带来的效率区别
  19. 五大列级庄_什么是“列级庄”
  20. SharePoint BI

热门文章

  1. C/C++ strcpy函数详解
  2. 敏捷项目管理实战第三天 组织、计划、执行与监控
  3. Linux 配置静态IP(固定IP)
  4. linux 安装svn服务端
  5. python mac自动打电话软件_Python实现Mac版QQ半自动发送情话(用了这个,我追到了自己的女神)...
  6. 调用百度请求 边输入边提示 jQuery UI 自动完成(Autocomplete)支持中文 超简单
  7. php三元运算符 echo_php三元运算符知识汇总
  8. php三元运算符 echo_php的三元运算符
  9. 记录Z3中的BitVector
  10. 小程序自定义modal弹窗封装实现