| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -38,6 +38,7 @@ import org.jeecgframework.poi.excel.annotation.ExcelTarget; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.entity.TemplateExportParams;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.entity.params.ExcelTemplateParams;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.export.base.ExcelExportBase;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.excel.export.styler.IExcelExportStyler;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.jeecgframework.poi.exception.excel.ExcelExportException;
 | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -353,7 +354,7 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            .replace(START_STR, EMPTY);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        String[] keys = name.replaceAll("\\s{1,}", " ").trim().split(" ");
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        Collection<?> datas = (Collection<?>) PoiPublicUtil.getParamsValue(keys[0], map);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        List<String> columns = getAllDataColumns(cell, name.replace(keys[0], EMPTY));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        List<ExcelTemplateParams> columns = getAllDataColumns(cell, name.replace(keys[0], EMPTY));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (datas == null) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -363,6 +364,7 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        //处理当前行
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (its.hasNext()) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            Object t = its.next();
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            cell.getRow().setHeight(columns.get(0).getHeight());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            setForEeachCellValue(isCreate, cell.getRow(), cell.getColumnIndex(), t, columns, map);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        while (its.hasNext()) {
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -375,20 +377,21 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    row = cell.getRow().getSheet().createRow(rowIndex - 1);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            row.setHeight(columns.get(0).getHeight());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            setForEeachCellValue(isCreate, row, cell.getColumnIndex(), t, columns, map);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private void setForEeachCellValue(boolean isCreate, Row row, int columnIndex, Object t,
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                      List<String> columns, Map<String, Object> map)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                                                                    throws Exception {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                      List<ExcelTemplateParams> columns, Map<String, Object> map)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                                                                                 throws Exception {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        for (int i = 0, max = columnIndex + columns.size(); i < max; i++) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (row.getCell(i) == null)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.createCell(i);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        for (int i = 0, max = columns.size(); i < max; i++) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            boolean isNumber = false;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            String tempStr = new String(columns.get(i));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            String tempStr = new String(columns.get(i).getName());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (isNumber(tempStr)) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                isNumber = true;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                tempStr = tempStr.replace(NUMBER_SYMBOL, "");
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -398,8 +401,10 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (isNumber) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.getCell(i + columnIndex).setCellValue(Double.parseDouble(val));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.getCell(i + columnIndex).setCellType(Cell.CELL_TYPE_NUMERIC);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.getCell(i + columnIndex).setCellStyle(columns.get(i).getCellStyle());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } else {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.getCell(i + columnIndex).setCellValue(val);
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                row.getCell(i + columnIndex).setCellStyle(columns.get(i).getCellStyle());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            tempCreateCellSet.add(row.getRowNum() + "_" + (i + columnIndex));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -412,14 +417,16 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * @param name
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * @return
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     */
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private List<String> getAllDataColumns(Cell cell, String name) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        List<String> columns = new ArrayList<String>();
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private List<ExcelTemplateParams> getAllDataColumns(Cell cell, String name) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        List<ExcelTemplateParams> columns = new ArrayList<ExcelTemplateParams>();
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (name.contains(END_STR)) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            columns.add(name.replace(END_STR, EMPTY));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            columns.add(new ExcelTemplateParams(name.replace(END_STR, EMPTY), cell.getCellStyle(),
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                cell.getRow().getHeight()));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            cell.setCellValue("");
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return columns;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        }
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        columns.add(name.trim());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        columns.add(new ExcelTemplateParams(name.trim(), cell.getCellStyle(), cell.getRow()
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            .getHeight()));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int index = cell.getColumnIndex();
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        Cell tempCell;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        while (true) {
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -439,11 +446,13 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            //把读取过的cell 置为空
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            cell.setCellValue("");
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (cellStringString.contains(END_STR)) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                columns.add(cellStringString.trim().replace(END_STR, ""));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                columns.add(new ExcelTemplateParams(cellStringString.trim().replace(END_STR, ""),
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    tempCell.getCellStyle(), tempCell.getRow().getHeight()));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                break;
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } else {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                if (cellStringString.trim().contains(teplateParams.getTempParams())) {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    columns.add(cellStringString.trim());
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    columns.add(new ExcelTemplateParams(cellStringString.trim(), tempCell
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        .getCellStyle(), tempCell.getRow().getHeight()));
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                } else {
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    //最后一行被删除了
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break;
 | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |