| @@ -589,6 +589,18 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
| isI18n = true; | isI18n = true; | ||||
| oldString = oldString.replaceFirst(I18N_HANDLER, ""); | oldString = oldString.replaceFirst(I18N_HANDLER, ""); | ||||
| } | } | ||||
| if (isHasSymbol(oldString, MERGE)) { | |||||
| String mergeStr = PoiPublicUtil.getElStr(oldString,MERGE); | |||||
| oldString = oldString.replace(mergeStr, ""); | |||||
| mergeStr = mergeStr.replaceFirst(MERGE, ""); | |||||
| try { | |||||
| int colSpan = (int)Double.parseDouble(PoiPublicUtil.getRealValue(mergeStr, map).toString()); | |||||
| PoiMergeCellUtil.addMergedRegion(cell.getSheet(), cell.getRowIndex(), | |||||
| cell.getRowIndex() , cell.getColumnIndex(), cell.getColumnIndex() + colSpan - 1); | |||||
| } catch (Exception e) { | |||||
| LOGGER.error(e.getMessage(),e); | |||||
| } | |||||
| } | |||||
| Object obj = PoiPublicUtil.getRealValue(oldString, map); | Object obj = PoiPublicUtil.getRealValue(oldString, map); | ||||
| if (isDict) { | if (isDict) { | ||||
| obj = dictHandler.toName(dict, null, oldString, obj); | obj = dictHandler.toName(dict, null, oldString, obj); | ||||
| @@ -40,6 +40,7 @@ public final class PoiElUtil { | |||||
| public static final String END_STR = "}}"; | public static final String END_STR = "}}"; | ||||
| public static final String WRAP = "]]"; | public static final String WRAP = "]]"; | ||||
| public static final String NUMBER_SYMBOL = "n:"; | public static final String NUMBER_SYMBOL = "n:"; | ||||
| public static final String MERGE = "merge:"; | |||||
| public static final String STYLE_SELF = "sy:"; | public static final String STYLE_SELF = "sy:"; | ||||
| public static final String FORMAT_DATE = "fd:"; | public static final String FORMAT_DATE = "fd:"; | ||||
| public static final String FORMAT_NUMBER = "fn:"; | public static final String FORMAT_NUMBER = "fn:"; | ||||
| @@ -48,7 +49,7 @@ public final class PoiElUtil { | |||||
| public static final String EMPTY = ""; | public static final String EMPTY = ""; | ||||
| public static final String CONST = "'"; | public static final String CONST = "'"; | ||||
| public static final String NULL = "&NULL&"; | public static final String NULL = "&NULL&"; | ||||
| public static final String INDEX = "&INDEX&"; | |||||
| public static final String INDEX = "&INDEX&"; | |||||
| public static final String LEFT_BRACKET = "("; | public static final String LEFT_BRACKET = "("; | ||||
| public static final String RIGHT_BRACKET = ")"; | public static final String RIGHT_BRACKET = ")"; | ||||
| public static final String CAL = "cal:"; | public static final String CAL = "cal:"; | ||||
| @@ -485,4 +485,18 @@ public final class PoiPublicUtil { | |||||
| String[] paramsArr = name.split("\\."); | String[] paramsArr = name.split("\\."); | ||||
| return paramsArr[paramsArr.length - 1]; | return paramsArr[paramsArr.length - 1]; | ||||
| } | } | ||||
| /** | |||||
| * 找到字符串中包含key的{{字符串返回}} | |||||
| * | |||||
| * @param str | |||||
| * @param key | |||||
| * @return | |||||
| */ | |||||
| public static String getElStr(String str, String key) { | |||||
| int keyIndex = str.indexOf(key); | |||||
| int startIndex = (str.substring(0, keyIndex)).lastIndexOf(START_STR); | |||||
| int endIndex = str.indexOf(END_STR, keyIndex) + 2; | |||||
| return str.substring(startIndex, endIndex); | |||||
| } | |||||
| } | } | ||||