前段时间领导交代了一个需求:客户需要一个能够web在线编辑文字,如同编辑word文档一样,同时能够将编辑完成的内容导出为word文档并下载到本地。

实例化编辑器,并将后台传递的word内容数据(html形式)展现在编辑区域内。

var ue = UE.getEditor('editor',{

toolbars: [

['undo', 'redo', 'bold','italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|','rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'directionalityltr', 'directionalityrtl', 'indent', '|','justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|','simpleupload', 'insertimage','link', 'unlink', '|', 'customstyle', 'paragraph', 'fontfamily', 'fontsize','|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',

,'horizontal', 'date', 'time', 'spechars', '|', 'preview', 'searchreplace','print']

],

});

ue.ready(function() {//content是html标签的内容,附带有css样式

ue.setContent(content,true)

});

以上是前台的简单实现,这个插件甚至能够直接粘贴图片!

后台的实现思路是:由于前台允许在线编辑,所有不能直接在后台生成一个报告文档,需要将前台显示的内容完全传至后台,有后台代码将前台的html界面转换成word文档。

我在项目中有两种后台实现方式,本篇先介绍前一种实现方式,另一种方式将于下一篇介绍。

这种方式生成的是doc后缀的文档,是Word2003以前规范的word文档。

@RequestMapping("/defectV2/defect/analysis/tranformHtmlToWord")

@ResponseBodypublicMessageBean tranformHtmlToWordDocx(@RequestParam Map params,HttpServletRequest request, HttpServletResponse response) {try{

//params包含前台传回的html内容//analysisService.tranformHtmlToWordDoc(params,response);

String content = "

" + (String) params.get("editorValue") + "";

InputStream is= new ByteArrayInputStream(content.getBytes());//utf-8//OutputStream os = new FileOutputStream("F:/analysis/test.doc");

OutputStream os =response.getOutputStream();

response.setContentType("application/vnd.ms-excel");

response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("问题统计分析.doc","utf-8"));

POIFSFileSystem fs= newPOIFSFileSystem();

fs.createDocument(is,"WordDocument");

fs.writeFilesystem(os);

os.close();

is.close();

fs.close();return new MessageBean("success", "生成报告成功!", null);

}catch(Exception e) {

e.printStackTrace();

utils.WriteSystemLog(sls,"ERROR", "生成报告", "生成报告失败!" +e.getCause());return new MessageBean("error", "生成报告失败!", null);

}

}

这种方式直接使用的POI附带的功能,在pom.xml需要引入POI的相关依赖。

org.apache.poi

poi

3.14

org.apache.poi

poi-ooxml

3.14

java生成chk文件_java web实现在线编辑word,并将word导出(一)相关推荐

  1. java 生成csv文件_Java生成CSV文件实例详解

    本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  2. java生成日志文件_java - 把日志生成到指定目录

    1.按天小时生成日志文件 log4j.appender.ruiming.DatePattern='_'yyyy-MM-dd-HH 2.最大日志文件数据 log4j.appender.ruiming.M ...

  3. java 生成pdf文件_Java 中HTTP响应数据生成PDF,PDF文件的读取

    将HTTP响应数据生成PDF,这一步的话,就比较坑,浪费了好多时间,查了很多资料,也是我想把它记录下来的主要原因, 废话少说,先说踩的坑 1.区分字符流.字节流 这里可以百度一下,但是简言之就是: j ...

  4. java生成world文件_Java导出World文档(入门)

    第一步就是将World文档里面需要从数据库填充的部分用占位符替换 第二步:就是将此文档保存为Xml格式 第三步:将其放在resource目录下,并选中此文件,右键点击properties属性,将其编码 ...

  5. java 生成msg文件_java – 如何获取.MSG文件的MIME类型?

    我尝试了一些可能的方法,并使用tika给出您的期望结果,我没有看到您使用的代码,所以我无法仔细检查. 我尝试了不同的方式,并不是所有的代码片段: > Java 7 Files.probeCont ...

  6. java 导出mdb文件_Java中Java生成mdb文件工具类

    package com.util; /**  * Java生成mdb文件[MS Access文件]  * 1. 在ClassPath下存一个空的blank.mdb. (也就是在你的项目中包含一个空白的 ...

  7. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  8. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  9. zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题

    java生成压缩文件 ZipEntry出现乱码的问题 在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze ...

  10. java流与文件——java生成解压缩文件(夹)

    [0]README 0.1) 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 , 旨在理解 java流与文件--java生成解压 ...

最新文章

  1. 不能上网--只要四步判断出故障所在
  2. 2022年跨境电商的风口还在吗?
  3. Netty 中 IOException: Connection reset by peer 与 java.nio.channels.ClosedChannelException: null
  4. java 使用c .dll_Windows下java调用c的dll动态库--Dev_Cpp编译c生成dll
  5. FreeEIM通讯软件无论是画面风格还是游戏内容
  6. 模拟jQuery,简单仿写API
  7. matlab中极点留数法,用MATLAB求留数.pdf
  8. python将h264文件视频转为mp4格式
  9. 一文搞懂DTFT,DFT,FFT
  10. expect巡检服务器_linux 巡检报告
  11. Python数学计算工具1、海伦公式计算三角形面积
  12. 【SCIR Lab】事件表示学习简述
  13. mysql 失败 捕获 net core_从NetCore报错到MySql安全
  14. ant design vue时间范围(range-picker)自定义时间段范围
  15. Div Scroll Bar (用层模拟滚动条)
  16. 开发一个 Linux 调试器(四):Elves 和 dwarves
  17. 日系小清新PPT模板
  18. LVGL的多语言转换工具--字体设置的好助手
  19. upyun 又拍云直播推拉流
  20. 李成熙:前端如何突破技术与业务的瓶颈

热门文章

  1. 微型计算机主装箱中装有哪些,微型计算机及接口技术2016年10月真题试题(04732)...
  2. 计算机桌面图标变大怎么解决,小编教你电脑桌面图标变大了怎么办
  3. springboot freemarker不渲染页面返回字符串
  4. 基于Matlab的机器人学建模学习资料大整理
  5. TS 中的 keyof 和 typeof 操作符
  6. 架构问题--削峰填谷
  7. module项目没有蓝色小方块问题
  8. hotmail手机端_hotmail邮箱官方版|hotmail邮箱手机版下载_v7.8.2_9ht安卓下载
  9. Lync2013扩展开发
  10. ADS1256,引起了通信丢失