Java 将html导出word格式

@RequestMapping("download")

    public void exportWord( HttpServletRequest request, HttpServletResponse response) 

                throws Exception {

        User user = AppContext.getLoginUser();   

        Student student = studentSvc.findByUserId(user.getId());

        try {

                //word内容

                String content="<html><body></body></html>";

                byte b[] = content.getBytes("utf-8");  //这里是必须要设置编码的,不然导出中文就会乱码。

                ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中  

                /*

                * 关键地方

                * 生成word格式

                */

                POIFSFileSystem poifs = new POIFSFileSystem();  

                DirectoryEntry directory = poifs.getRoot();  

                DocumentEntry documentEntry = directory.createDocument("WordDocument", bais); 

                //输出文件

                String fileName="实习考核鉴定表";

                request.setCharacterEncoding("utf-8");  

                response.setContentType("application/msword");//导出word格式

                response.addHeader("Content-Disposition", "attachment;filename=" +

                         new String( (fileName + ".doc").getBytes(),  

                                 "iso-8859-1"));

                 

                OutputStream ostream = response.getOutputStream(); 

                poifs.writeFilesystem(ostream);  

                bais.close();  

                ostream.close(); 

            }catch(Exception e){

                AppUtils.logError("导出出错:%s", e.getMessage());

            }  

    }

 

你可能感兴趣的:(java)