@@ -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); | |||||
} | |||||
} | } |