|
@@ -2790,6 +2790,7 @@ public class AdminCustomerController {
|
|
|
HSSFCellStyle style = wb.createCellStyle();
|
|
|
//居中格式
|
|
|
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
|
|
+ style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
|
|
|
//设置表头
|
|
|
|
|
|
if (cells == null || cells.length == 0) {
|
|
@@ -3009,8 +3010,30 @@ public class AdminCustomerController {
|
|
|
}else{
|
|
|
row.createCell(10).setCellValue( customerStatisticalInfo.getNumberFive());
|
|
|
}
|
|
|
+ cell = row.getCell(0);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(1);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(2);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(3);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(4);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(5);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(6);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(7);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(8);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(9);
|
|
|
+ cell.setCellStyle(style);
|
|
|
+ cell = row.getCell(10);
|
|
|
+ cell.setCellStyle(style);
|
|
|
}
|
|
|
-
|
|
|
+ HashMap<Integer,HashMap<Integer,Integer>> cellMaps = new HashMap<>();
|
|
|
HashMap<Integer,Integer> cellMap = new HashMap<>();
|
|
|
int c1 = 0;
|
|
|
//合并单元格
|
|
@@ -3018,7 +3041,6 @@ public class AdminCustomerController {
|
|
|
if(i >= c1){
|
|
|
for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
if(j >= c1){
|
|
|
- System.out.println("---------"+sheet.getRow(j+1).getCell(0)+"-----");
|
|
|
if(sheet.getRow(j+1).getCell(0).toString().equals("") || sheet.getRow(j+1).getCell(0) == null){
|
|
|
cellMap.put(i,j+1);
|
|
|
c1 = j+1;
|
|
@@ -3030,13 +3052,158 @@ public class AdminCustomerController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- for(Map.Entry<Integer,Integer> entry : cellMap.entrySet())
|
|
|
+ cellMaps.put(0,cellMap);
|
|
|
+
|
|
|
+ HashMap<Integer,Integer> cellMap2 = new HashMap<>();
|
|
|
+ int c2 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c2){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c2){
|
|
|
+ if(sheet.getRow(j+1).getCell(1).toString().equals("") || sheet.getRow(j+1).getCell(1) == null){
|
|
|
+ cellMap2.put(i,j+1);
|
|
|
+ c2 = j+1;
|
|
|
+ }else{
|
|
|
+ c2 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(1,cellMap2);
|
|
|
+ HashMap<Integer,Integer> cellMap3 = new HashMap<>();
|
|
|
+ int c3 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c3){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c3){
|
|
|
+ if(sheet.getRow(j+1).getCell(2).toString().equals("") || sheet.getRow(j+1).getCell(2) == null){
|
|
|
+ cellMap3.put(i,j+1);
|
|
|
+ c3 = j+1;
|
|
|
+ }else{
|
|
|
+ c3 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(2,cellMap3);
|
|
|
+ HashMap<Integer,Integer> cellMap4 = new HashMap<>();
|
|
|
+ int c4 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c4){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c4){
|
|
|
+ if(sheet.getRow(j+1).getCell(3).toString().equals("") || sheet.getRow(j+1).getCell(3) == null){
|
|
|
+ cellMap4.put(i,j+1);
|
|
|
+ c4 = j+1;
|
|
|
+ }else{
|
|
|
+ c4 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(3,cellMap4);
|
|
|
+
|
|
|
+ HashMap<Integer,Integer> cellMap5 = new HashMap<>();
|
|
|
+ int c5 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c5){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c5){
|
|
|
+ if(sheet.getRow(j+1).getCell(4).toString().equals("") || sheet.getRow(j+1).getCell(4) == null){
|
|
|
+ cellMap5.put(i,j+1);
|
|
|
+ c5 = j+1;
|
|
|
+ }else{
|
|
|
+ c5 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(4,cellMap5);
|
|
|
+ HashMap<Integer,Integer> cellMap6 = new HashMap<>();
|
|
|
+ int c6 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c6){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c6){
|
|
|
+ if(sheet.getRow(j+1).getCell(5).toString().equals("") || sheet.getRow(j+1).getCell(5) == null){
|
|
|
+ cellMap6.put(i,j+1);
|
|
|
+ c6 = j+1;
|
|
|
+ }else{
|
|
|
+ c6 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(5,cellMap6);
|
|
|
+
|
|
|
+ HashMap<Integer,Integer> cellMap7 = new HashMap<>();
|
|
|
+ int c7 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c7){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c7){
|
|
|
+ if((sheet.getRow(j+1).getCell(6).toString().equals("") || sheet.getRow(j+1).getCell(6) == null)
|
|
|
+ && (sheet.getRow(j+1).getCell(5).toString().equals("") || sheet.getRow(j+1).getCell(5) == null)){
|
|
|
+ cellMap7.put(i,j+1);
|
|
|
+ c7 = j+1;
|
|
|
+ }else{
|
|
|
+ c7 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(6,cellMap7);
|
|
|
+
|
|
|
+ HashMap<Integer,Integer> cellMap8 = new HashMap<>();
|
|
|
+ int c8 = 0;
|
|
|
+ //合并单元格
|
|
|
+ for(int i=0;i < sheet.getPhysicalNumberOfRows() -1;i++){
|
|
|
+ if(i >= c7){
|
|
|
+ for(int j=0;j < sheet.getPhysicalNumberOfRows() -1;j++){
|
|
|
+ if(j >= c8){
|
|
|
+ if((sheet.getRow(j+1).getCell(7).toString().equals("") || sheet.getRow(j+1).getCell(7) == null)
|
|
|
+ && (sheet.getRow(j+1).getCell(6).toString().equals("") || sheet.getRow(j+1).getCell(6) == null)
|
|
|
+ && (sheet.getRow(j+1).getCell(5).toString().equals("") || sheet.getRow(j+1).getCell(5) == null)){
|
|
|
+ cellMap8.put(i,j+1);
|
|
|
+ c8 = j+1;
|
|
|
+ }else{
|
|
|
+ c8 = j+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cellMaps.put(7,cellMap8);
|
|
|
+
|
|
|
+
|
|
|
+ for(Map.Entry<Integer,HashMap<Integer,Integer>> entry : cellMaps.entrySet())
|
|
|
{
|
|
|
- CellRangeAddress region = new CellRangeAddress(entry.getKey(), entry.getValue(), 0, 0);
|
|
|
- sheet.addMergedRegion(region);
|
|
|
+ HashMap<Integer,Integer> map = entry.getValue();
|
|
|
+ for(Integer key : map.keySet())
|
|
|
+ {
|
|
|
+ CellRangeAddress region = new CellRangeAddress(key, map.get(key), entry.getKey(), entry.getKey());
|
|
|
+ sheet.addMergedRegion(region);
|
|
|
+ }
|
|
|
}
|
|
|
- style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
|
|
|
- style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
|
|
|
NumberFormat numberFormat = NumberFormat.getInstance();
|
|
|
numberFormat.setMaximumFractionDigits(2);
|
|
|
downloadProgressInfo.setDownloadProgress("100");
|