- //导出到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();
- }
- }
java将html导出成word(利用的poi包导出)
最新推荐文章于 2024-09-29 12:35:31 发布