光伏收益报表导出

This commit is contained in:
2026-02-03 15:03:13 +08:00
parent 93460199b2
commit 2e6cee7f49
2 changed files with 37 additions and 0 deletions

View File

@ -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")