首页 > 技术文章 > html格式的文档转成word下载

many-object 2017-10-31 15:33 原文

  当我们前端使用ueditor插件来让用户输入数据,保存至数据库。在另一个地方需要打印用户输入的内容的时候可以用到。因为要将ueditor带格式保存下来保存的就是html格式的内容,后台转化如下:

 1      @RequestMapping("ueditorPrintAction.do")
 2     public void uePrint(HttpServletRequest request,HttpServletResponse response) throws IOException{
 3         CivilParam param=new CivilParam();
 4         param.setParamData(null);
 5         CivilResult result=ueditorPrintService.queryContext(param);
 6         map=(Map) result.getResultData();
 7                 //以上是通过pring dubbo来进行数据库查询
 8         String htmlContent=map.get("content").toString();
 9         //字符替换
10         htmlContent = htmlContent.replaceAll("`lt`", "<");
11         htmlContent = htmlContent.replaceAll("`gt`", ">");
12         htmlContent = htmlContent.replaceAll("`quot`", "\"");
13         htmlContent = htmlContent.replaceAll("`#39`", "'");
14         
15         String content = "<html>"+htmlContent+"</html>";
16         //如果出现乱码getBytes传入编码参数
17         byte b[] = content.getBytes();
18         ByteArrayInputStream bais = new ByteArrayInputStream(b);    
19         POIFSFileSystem poifs = new POIFSFileSystem();    
20         DirectoryEntry directory = poifs.getRoot();    
21         DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);    
22         //输出文件 名
23         String name=map.get("name").toString();  
24         //如何出现乱码getBytes传入编码参数
25        // HttpServletResponse response = getResponse();
26         response.setHeader("Content-Disposition",  
27                 "attachment;filename=" +  
28                 new String( (name + ".doc").getBytes(),  
29                            "iso-8859-1"));  
30         response.setContentType("application/msword");  
31         OutputStream ostream = response.getOutputStream(); 
32         poifs.writeFilesystem(ostream);
33         //return JSON;
34     }            
View Code

 

推荐阅读