easyExcel export excel custom header

easyExcel export excel custom header

Effect picture:

Insert picture description here

Code:

@RequestMapping(value = "export",method = RequestMethod.GET)
	public void export(HttpServletResponse response,Integer yds,Integer sds,String type) throws Exception {
    
    



		if(StringUtil.isNumeric(type) || yds==null || sds ==null ){
    
    
			return ;
		}

		ServletOutputStream outputStream = response.getOutputStream();



		ExcelWriter excelWriter = EasyExcelFactory.getWriter(outputStream);

		Table table = new Table(1);


		String filename = type.equals("dept")?"10个省级部门预算单位2019年部门预算执行和决算草案审计查出问题整改情况的报告" : "省工信厅关于2018-2019年省级工业转型升级资金分配使用专项审计查出问题整改情况的报告";
		response.setContentType("application/octet-stream");
		// 中文文件名编码
		response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename+".xlsx", "UTF-8"));





		//获取数据
		List<List<Object>> list = getData(yds,sds,type);



		//表头
		List<List<String>> headList = new ArrayList<List<String>>();

		// 第 n 列 的表头
		List<String> headTitle0 = new ArrayList(2);
		List<String> headTitle1 = new ArrayList(2);
		List<String> headTitle2 = new ArrayList(2);
		List<String> headTitle3 = new ArrayList(2);
		List<String> headTitle4 = new ArrayList(2);
		List<String> headTitle5 = new ArrayList(2);
		List<String> headTitle6 = new ArrayList(2);
		List<String> headTitle7 = new ArrayList(2);
		List<String> headTitle8 = new ArrayList(2);

		headTitle0.add("序号");
		headTitle0.add("序号");

		headTitle1.add("测评对象");
		headTitle1.add("测评对象");

		headTitle2.add("测评内容");
		headTitle2.add("满意");

		headTitle3.add("测评内容");
		headTitle3.add("基本满意");


		headTitle4.add("测评内容");
		headTitle4.add("不满意");

		headTitle5.add("测评内容");
		headTitle5.add("弃权");

		headTitle6.add("测评内容");
		headTitle6.add("无效");

		headTitle7.add("测评内容");
		headTitle7.add("满意度(实到数)");

		headTitle8.add("测评内容");
		headTitle8.add("满意度(应到数)");


		headList.add(headTitle0);
		headList.add(headTitle1);
		headList.add(headTitle2);
		headList.add(headTitle3);
		headList.add(headTitle4);
		headList.add(headTitle5);
		headList.add(headTitle6);
		headList.add(headTitle7);
		headList.add(headTitle8);

		table.setHead(headList);


		//表单
		Sheet sheet = new Sheet(1,0);
		sheet.setSheetName("数据");

		excelWriter.write1(list,sheet,table);

		excelWriter.finish();

	}


	public List<List<Object>> getData(Integer yds,Integer sds,String type) throws Exception {
    
    


		String sql ="select  name,specialty_count 'specialty',fairly_specialty_count 'fairly',no_specialty_count 'no',abstention_count 'abstention',lose_efficacy_count 'lost' from appraisal  where identifying = '"+type+"'";



		List<Map<String, Object>> allObject2ListMap = new DbUtil(new DBConnect().getConnect()).getAllObject2ListMap(sql,new Object[0]);



		List<List<Object>>  result= new ArrayList(allObject2ListMap.size());

		for (int i =0;i<allObject2ListMap.size();i++) {
    
    
			Map<String, Object> temp = allObject2ListMap.get(i);

			List<Object> list = new ArrayList<>();
			list.add(i+1);
			list.add(temp.get("name"));
			list.add(temp.get("specialty_count"));
			list.add(temp.get("fairly_specialty_count"));
			list.add(temp.get("no_specialty_count"));
			list.add(temp.get("abstention_count"));
			list.add(temp.get("lose_efficacy_count"));

			Integer specialty = Integer.valueOf(temp.get("specialty_count").toString());
			Integer fairly = Integer.valueOf(temp.get("fairly_specialty_count").toString());
			Double aDouble = Double.valueOf(specialty + fairly);

			double  yds_myl = aDouble.doubleValue()/yds*100;
			double  sds_myl = aDouble.doubleValue()/sds*100;

			list.add(sds_myl+"%");
			list.add(yds_myl+"%");
			result.add(list);
		}

		return result;
	};

Dependent jar:

Insert picture description here

Guess you like

Origin blog.csdn.net/dndndnnffj/article/details/109490117