光伏收益报表导出
This commit is contained in:
@ -199,6 +199,43 @@ public class EarningsCalculateController {
|
||||
}
|
||||
return betweenList;
|
||||
}
|
||||
@TokenIgnore
|
||||
@PostMapping("/exportPv")
|
||||
@ApiOperation(value = "pv导出")
|
||||
public void exportPv(HttpServletRequest req, HttpServletResponse response, @RequestBody EarningsCalculateReq earningsCalculateReq){
|
||||
String lang = req.getHeader(CommonConstant.LANG);
|
||||
earningsCalculateReq.setLang(lang);
|
||||
EarningsCalculateResp total = earningsCalculateService.getTotal(earningsCalculateReq,PAGE_LIST_TYPE);
|
||||
ServletOutputStream out = null;
|
||||
try {
|
||||
out = response.getOutputStream();
|
||||
response.setContentType("multipart/form-data");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
//文件名字
|
||||
String fileName = "demo.xlsx";
|
||||
response.setHeader("Content-disposition", "attachment;filename=" +fileName);
|
||||
String path="template/earningsPvTemplate.xlsx";
|
||||
//文件模板输入流
|
||||
InputStream inputStream = new ClassPathResource(path).getInputStream();
|
||||
ExcelWriter writer = EasyExcel.write(out).withTemplate(inputStream).build();
|
||||
WriteSheet sheet = EasyExcel.writerSheet().build();
|
||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();
|
||||
|
||||
List<PowerGenerateRespVO> pvList = earningsCalculateService.getPvMonthData(earningsCalculateReq);
|
||||
for (PowerGenerateRespVO pcsElecData : pvList) {
|
||||
bigDecimalUtil.keepTwoDecimalPlaces(pcsElecData);
|
||||
bigDecimalUtil.ifIsNUll(pcsElecData);
|
||||
}
|
||||
writer.fill(new FillWrapper("vo", pvList), fillConfig, sheet);
|
||||
//填充数据
|
||||
writer.fill(total,fillConfig,sheet);
|
||||
//填充完成
|
||||
writer.finish();
|
||||
out.flush();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@TokenIgnore
|
||||
@PostMapping("/export")
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user