表头是这样的
首先是创建实体
对应的表头 ,needMerge=true是需要合并一二行
接着就是导出代码
public void exportdetail(HttpServletResponse response) {
List<InventoryDetailReportExportVo> vos = new ArrayList<>();
List<StockInExportVo> stockInExportVos = new ArrayList<>();
StockInExportVo stockInExportVo = new StockInExportVo();
stockInExportVo.setInQuantity(vo.getInQuantity());
stockInExportVo.setInSinglePrice(vo.getInSinglePrice());
stockInExportVo.setInTotalPrice(vo.getInTotalPrice());
stockInExportVos.add(stockInExportVo);
List<StockOutExportVo> stockOutExportVos = new ArrayList<>();
StockOutExportVo stockOutExportVo = new StockOutExportVo();
stockOutExportVo.setOutQuantity(vo.getOutQuantity());
stockOutExportVo.setOutSinglePrice(vo.getOutSinglePrice());
stockOutExportVo.setOutTotalPrice(vo.getOutTotalPrice());
stockOutExportVos.add(stockOutExportVo);
List<StockBalanceExportVo> stockBalanceExportVos = new ArrayList<>();
StockBalanceExportVo stockBalanceExportVo = new StockBalanceExportVo();
stockBalanceExportVo.setSurplusQuantity(vo.getSurplusQuantity());
stockBalanceExportVo.setSurplusSinglePrice(vo.getSurplusSinglePrice());
stockBalanceExportVo.setSurplusTotalPrice(vo.getSurplusTotalPrice());
stockBalanceExportVos.add(stockBalanceExportVo);
inventoryDetailReportExportVo.setItemNo(vo.getItemNo());
inventoryDetailReportExportVo.setConfirmationTime(vo.getConfirmationTime());
inventoryDetailReportExportVo.setItemSource(vo.getItemSource());
inventoryDetailReportExportVo.setAuditStatus(vo.getAuditStatus());
inventoryDetailReportExportVo.setStockInExportVos(stockInExportVos);
inventoryDetailReportExportVo.setStockOutExportVos(stockOutExportVos);
inventoryDetailReportExportVo.setStockBalanceExportVos(stockBalanceExportVos);
vos.add(inventoryDetailReportExportVo);
Workbook workBook = ExcelExportUtil.exportExcel(new ExportParams(), InventoryDetailReportExportVo.class, vos);
try{
response.setContentType("application/octet-stream;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); // 允许前端获取这个属性
workbook.write(response.getOutputStream());
response.setContentType("application/octet-stream;charset=UTF-8");
}catch (Exception e) {
e.printStackTrace();
log.error("导出异常");
}
}
大概思维是这样子,要是不明白也可以私聊我。
还有多sheet导出的!!!