• word模板批量导出


    //根据业务传入需要ids
    			if(ids!=null && ids.size()>0){
    				//放置多模板
    				List<XWPFTemplate> temList = new ArrayList<XWPFTemplate>();
    				//模板存放路径
    			    String uploadFileBasePath = ConfigUtils.getConfigValue("template_path","");
    			    //获取首页标题及日期
    				final String docname = UserUtils.getUser().getCompany().getName().concat("安全生产责任书");
    				final String exportdate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
    			//第一页模板数据填充
    			XWPFTemplate template1 = XWPFTemplate.compile(uploadFileBasePath+"ResponsibilityBook1.docx").render(new HashMap<String, Object>(){{  
    		        put("docname", docname);
    		        put("exportdate", exportdate);
    		        
    		}});
    			//添加模板
    			temList.add(template1);
    			ArrayList<XWPFDocument> documentList = new ArrayList<XWPFDocument>();
    			//获取第二个模板填充数据
    			for (String id : ids) {
    			responsibilityBook=responsibilityBookService.get(id);
    			//初始化安全生产目标内容
    			responsibilityBook = responsibilityBookService.initContent(responsibilityBook);
    			final String bookname = UserUtils.getUser().getCompany().getName().concat(responsibilityBook.getRoleName()).concat("安全生产责任书");
    			final String foreword = StringEscapeUtils.unescapeHtml4(responsibilityBook.getForeword());
    			final String assessmentmethod = StringEscapeUtils.unescapeHtml4(responsibilityBook.getAssessmentMethod());
    			String temp = "";
    			
    			//封装安全生产目标
    			JSONArray jsonArray = JSONArray.parseArray(StringEscapeUtils.unescapeHtml4(responsibilityBook.getGoals()));
    			Content entity_temp = null;
    			for (Object jsonObject : jsonArray) {
    				entity_temp = JSON.parseObject(jsonObject.toString(), Content.class);
    				if(jsonArray.indexOf(jsonObject)>0)
    					temp += "    ".concat(String.valueOf(jsonArray.indexOf(jsonObject)+1)).concat("、").concat(entity_temp.getContent()).concat("
    ");
    				else
    					temp += String.valueOf(jsonArray.indexOf(jsonObject)+1).concat("、").concat(entity_temp.getContent()).concat("
    ");
    			}
    			final String goals  = temp;
    			
    			//封装安全生产责任制
    			temp  = "";
    			jsonArray = JSONArray.parseArray(StringEscapeUtils.unescapeHtml4(responsibilityBook.getResponsibilitys()));
    			entity_temp = null;
    			for (Object jsonObject : jsonArray) {
    				entity_temp = JSON.parseObject(jsonObject.toString(), Content.class);
    				if(jsonArray.indexOf(jsonObject)>0)
    					temp += "    ".concat(String.valueOf(jsonArray.indexOf(jsonObject)+1).concat("、")).concat(entity_temp.getContent()).concat("
    ");
    				else
    					temp += String.valueOf(jsonArray.indexOf(jsonObject)+1).concat("、").concat(entity_temp.getContent()).concat("
    ");
    			}
    			final String responsibilitys = temp;
    			
    			//第二个模板数据填充
    			XWPFTemplate template2 = XWPFTemplate.compile(uploadFileBasePath+"ResponsibilityBook2.docx").render(new HashMap<String, Object>(){{  
    			        put("bookname", bookname);
    			        put("foreword", foreword);
    			        put("goals", goals);
    			        put("responsibilitys", responsibilitys);
    			        put("assessmentmethod", assessmentmethod);
    			}});
    			//放入第二个模板
    			temList.add(template2);
    			}
    			
    		
    			XWPFDocument doc = null;
    			for (int i = 0; i < temList.size(); i++) {
    				//获取第一个document
    				doc = temList.get(0).getXWPFDocument();
    				//往第一个document后拼接之后的document
    				if (i != 0) {
    					CTBody src = doc.getDocument().getBody();
    					CTBody append = temList.get(i).getXWPFDocument().getDocument().getBody();
    					CombineWord.appendBody(src, append);
    					//分页 功能
    					//doc.createParagraph().setPageBreak( true );
    				}
    			}
    			
    			response.reset();
                response.setContentType("application/octet-stream; charset=utf-8");
                response.setHeader("Content-Disposition", "attachment; filename="+Encodes.urlEncode(docname));
        		doc.write(response.getOutputStream()); 
    			doc.close();
    			}
    

      word模板1

     模板2

     

  • 相关阅读:
    SQL SERVER 2008远程数据库移植到本地的方法
    TensorFlow 辨异 —— tf.placeholder 与 tf.Variable
    pycharm pip安装包
    TensorFlow深度学习,一篇文章就够了
    tf.reducemean()到底是什么意思?
    什么是Tensor
    IOS开发之自定义UITabBarController
    IOS中的网络编程详解
    高德地图JS-API (超简单Get新技能√)
    Ios开发之Category
  • 原文地址:https://www.cnblogs.com/wjlwo2ni/p/11975076.html
Copyright © 2020-2023  润新知