2020-06-16----工作日志

今天主要进行云南项目的功能收尾,对软件版本统计功能的接口文档完善和待添加治超车道功能测试和接口文档编写:

  • 待添加治超车道的列表遍历略微复杂,在Java后端需要对常量往mapper中进行添加,其中一个方法为下:
s.orgType = #{param.stationOrgType}

//将Java中创建的常量在mapper.xml中进行赋值
s.orgType = ${@com.hy.basedata.utils.Const@ORGTYPE_STATION}
  • 但是上述方法需要涉及反射机制,可能对性能有所影响,所以还是建议在Java代码中进行默认赋值
  • 学习ExcelUtils导出数据到表格的方法,需要设置模板表格,表格中数据为需要遍历的列表的key

2020-06-16----工作日志_第1张图片

  •  遍历datalist,用a对象接收,标准的增强for循环写法,其中a中的属性需要在mapper文件中进行设置
  • 在后端将datalist放入map集合中,key要与datalist相同
String exportFileName = "数据传输情况监控";//导出文件的默认名
String templateFileName = "dataTransportCountListExport.xls";//模板excel表的名字,模板excel表要放在resources中
			
Map dataMap = new HashMap();
dataMap.put("dataList", dataList);//将需要遍历导出的数据集合放入map中,key值要和模板表的相同
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="+new String(exportFileName.getBytes(), "ISO8859-1") + ".xls");
  • 设置好以后进行io流的写出功能
OutputStream out = null;
InputStream is = null;
try{
	out = response.getOutputStream();
	is = this.getClass().getResourceAsStream("/xls/" + templateFileName);
	ExcelUtils.export(is, dataMap, out);//对装有datalist的dataMap集合通过excelUtils导出
}catch(Exception e){
	log.error(e.toString());
}finally{
	if(out != null){
	    out.close();//关闭资源,防止内存溢出
	}
	if(is != null){
	    is.close();//关闭资源,防止内存溢出
	}
}

 

你可能感兴趣的:(2020-06-16----工作日志)