用户WORD模板写文件

 

 

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
 
public static String createComplainWord(List<Complain> list){ 
           try {
            String templatePath = Global. getWebProjectPath() + File.separator ++ "compTemplete.doc"; 
                  InputStream is = new FileInputStream(templatePath); 
                  HWPFDocument doc = new HWPFDocument( is); 
                  Range range = doc.getRange();
                  Complain complain = list.get(0);
                  //把range范围内的${param}替换为对应参数
                  range.replaceText( "${incidentDate}", DateUtils.formatDate(complain.getIncidentDate(), "yyyy-MM-dd HH:mm:ss")); 
                  range.replaceText( "${location}", complain.getLocation()); 
                  range.replaceText( "${content}", complain.getContent()); 
                  range.replaceText( "${name}", complain.getName());
                  range.replaceText( "${phone}", complain.getPhone());
                  range.replaceText( "${isPublic}", "1".equals(complain .getIsPublic()) ? "" : "" );
                  String fileName = Global. getWebProjectPath() + File.separator + "ss ".doc" ;
                  File tempFile = new File( fileName);
                  if ( tempFile.exists()) {
                            tempFile.delete();
                  }
                  tempFile.createNewFile();
                  OutputStream os = new FileOutputStream(fileName);
                  //把doc输出到输出流中 
                  doc.write( os); 
                  closeStream(os); 
                  closeStream(is);
                  return list.get(0).getTitle() + ".doc";
           } catch (Exception e) {
                 logger.error( "exportWordError:" + e );
                 e.printStackTrace();
                 return null;
           } 
       }  
     
       /**
         * 关闭输入流
         * @param is
         */  
       private static void closeStream(InputStream is) { 
           if ( is != null) { 
              try { 
                 is.close(); 
              } catch (IOException e) { 
                 e.printStackTrace(); 
              } 
           } 
        } 
       
        /**
         * 关闭输出流
         * @param os
         */  
        private static void closeStream(OutputStream os) { 
           if ( os != null) { 
              try { 
                 os.close(); 
              } catch (IOException e) { 
                 e.printStackTrace(); 
              } 
           } 
        } 

 

posted @ 2017-02-27 11:43  roscee  阅读(241)  评论(0编辑  收藏  举报