首页 > 代码库 > java将html导出成word(利用的poi包导出)
java将html导出成word(利用的poi包导出)
//导出到word public void exportWord(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { DBTool tool = null ; try { /*** 查询数据库获得数据 **/ ArrayList records = form.getRecords(); if(null!=records&&0!=records.size()){ //word内容 String content="<html>";//拼接注意加上<html> for (int i = 0; i < records.size(); i++) { Record record =(Record) records.get(i); //从数据库中获得数据,将oracle中的clob数据类型转换成string类型 Method method = record.get("CONTENT").getClass().getMethod("getVendorObj",new Class[]{}); CLOB clob = (CLOB)method.invoke(record.get("CONTENT")); String cx = clob.getSubString((long) 1, (int) clob.length()); String title= (String) record.get("TITLE"); //html拼接出word内容 content+="<div style=\"text-align: center\"><span style=\"font-size: 24px\"><span style=\"font-family: 黑体\">" +title+"<br /> <br /> </span></span></div>"; content+="<div style=\"text-align: left\"><span >" +cx+"<br /> <br /> </span></span></div>"; //插入分页符 content+="<span lang=EN-US style=‘font-size:12.0pt;line-height:150%;mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA‘><br clear=all style=‘page-break-before:always‘></span>"; content+="<p class=MsoNormal style=‘line-height:150%‘><span lang=EN-US style=‘font-size:12.0pt;line-height:150%‘><o:p> </o:p></span></p>"; } content += "</html>"; byte b[] = content.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(b); POIFSFileSystem poifs = new POIFSFileSystem(); DirectoryEntry directory = poifs.getRoot(); DocumentEntry documentEntry = directory.createDocument("WordDocument", bais); //输出文件 String name="导出知识"; response.reset(); response.setHeader("Content-Disposition", "attachment;filename=" + new String( (name + ".doc").getBytes(), "iso-8859-1")); response.setContentType("application/msword"); OutputStream ostream = response.getOutputStream(); //输出到本地文件的话,new一个文件流 //FileOutputStream ostream = new FileOutputStream(path+ fileName); poifs.writeFilesystem(ostream); bais.close(); ostream.close(); } } catch (IOException e) { e.printStackTrace(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。