diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java index 785846c35..e40be1325 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java @@ -193,7 +193,7 @@ public class DummyInventoryInfoEOController extends JeroController list = Arrays.asList(titleOne.split(",")); + int index = list.indexOf("备注") + 1; + + //创建临时文件夹 + File nowFile = new File(filePath); + if (nowFile.exists()) { + nowFile.delete(); + } + nowFile.mkdirs(); + HSSFSheet sheet = workbook.createSheet("虚拟清单导入模板"); + sheet.setDefaultColumnWidth(16);//列宽 + HSSFCellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setWrapText(true);//自动换行 + cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中 + + + int count = 1; + int startLine = 0; + int endLine = 0; + int line = 3; + for (int i = 0; i < index; i++) { + //合并单元格 + CellRangeAddress region1 = + new CellRangeAddress(0, 1, i, i); + sheet.addMergedRegion(region1); + } + for (int i = index; i < 19; i++) { + if(count > 1){ + startLine = startLine + line + 1; + endLine = startLine + line; + }else{ + startLine = i; + endLine = i + line; + } + //合并单元格 + CellRangeAddress region1 = + new CellRangeAddress(0, 0, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 + sheet.addMergedRegion(region1); + count ++; + } + + for (int i = 0; i < 2; i++) { + //表头 + Row row = sheet.createRow(i);//开始创建标题行 + String[] headerArr = titleOne.split(","); + int lineTemp = index; + if (i == 0) { + for (int m = 0; m < headerArr.length; m++) { + if(m < index){ + row.createCell(m).setCellValue(headerArr[m]); + }else{ + row.createCell(lineTemp).setCellValue(headerArr[m]); + Cell cell = row.getCell(lineTemp); + cell.setCellStyle(cellStyle); + lineTemp = lineTemp + 4; + } + } + + }else{ + //titleTwo + String[] headerArrTwo = titleTwo.split(","); + for (int j = 0; j < headerArrTwo.length; j++) { + row.createCell(16+j).setCellValue(headerArrTwo[j]); + } + } + } + response.setHeader("Content-Disposition", + "attachment; filename=\"" + fileOriName + ".xls"); + response.setContentType("application/force-download"); + response.flushBuffer(); + os = response.getOutputStream(); + workbook.write(os); + } catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } } @@ -277,10 +380,12 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList()); - if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { - sb.append(collect.get(0).getName() + ","); - } else { - sb.append(collect.get(0).getEnName()); + if(collect.size() != 0){ + if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { + sb.append(collect.get(0).getName() + ","); + } else { + sb.append(collect.get(0).getEnName()); + } } } String technologyTerritoryName = "";