问题记录1
今天在写代码时候遇到几个问题记录一下
@TableField(fill = FieldFill.INSERT)
private Date createTime;
前端传的时间是2021-12-27这种格式,可是后端解析时候就自动转换成英文格式了,加了@JsonFormat注解规定了格式也没用,最后只能在用到的地方用new SimpleDateFormat(“yyyy-MM-dd”).format()来规定格式了。
问题记录2
将数据库的数据用poi的形式导出
private void downLoadExcel(HttpServletResponse response, ArrayList<IpRecordExp> projectBookings) {
//获取导出参数
ExportParams exportParams = new ExportParams(null, "IP分配记录", ExcelType.XSSF);
//设置导出样式
exportParams.setStyle(ExcelStyleUtil.class);
//设置行高
exportParams.setHeight((short) 10);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, IpRecordExp.class, projectBookings);
Sheet sheet = workbook.getSheet("IP分配记录");
OutputStream os = null;
try {
response.setContentType("application/octet-stream");
response.setHeader("content-type", "application/octet-stream");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("device.xlsx", "UTF-8"));
os = response.getOutputStream();
workbook.write(os);
} catch (IOException e) {
e.printStackTrace();
} finally {
close(os);
}
}
private void close(Object io) {
if (null == io) {
return;
}
try {
if (io instanceof InputStream) {
((InputStream) io).close();
} else if (io instanceof OutputStream) {
((OutputStream) io).close();
}
} catch (IOException e) {
//logger.error("file close error: ", e);
}
}
问题记录3
需要将集合中的元素用一个分隔符连起来形成一个字符串,这时候就用到了
List<String> portlist = map.get(key);
String portlists = String.join("|",portlist);
这样获取到的就是一个用|分割各元素的字符串。