From 388e36ed4dc5024195fbc2a60fa1be64be89d65f Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 23 七月 2020 21:45:22 +0800 Subject: [PATCH] 优化参数 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 98 +++++++++++++++++++++++++++--------------------- 1 files changed, 55 insertions(+), 43 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 9e9932f..13af486 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -201,8 +201,9 @@ // 璁剧疆绫荤殑绉佹湁瀛楁灞炴�у彲璁块棶. field.setAccessible(true); Integer column = cellMap.get(attr.name()); - if(column !=null ) { // 瀛楁鍦╡xcel 涓病鏈夛紝閭d箞灏变笉闇�瑕佽缃�� - fieldsMap.put(column, field); + if (column != null) + { + fieldsMap.put(column, field); } } } @@ -274,11 +275,11 @@ } else if (StringUtils.isNotEmpty(attr.readConverterExp())) { - val = reverseByExp(Convert.toStr(val), attr.readConverterExp()); + val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); } else if (StringUtils.isNotEmpty(attr.dictType())) { - val = reverseDictByExp(attr.dictType(), Convert.toStr(val)); + val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator()); } ReflectUtils.invokeSetter(entity, propertyName, val); } @@ -537,6 +538,7 @@ Object value = getTargetValue(vo, field, attr); String dateFormat = attr.dateFormat(); String readConverterExp = attr.readConverterExp(); + String separator = attr.separator(); String dictType = attr.dictType(); if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { @@ -544,11 +546,11 @@ } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) { - cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp)); + cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); } else if (StringUtils.isNotEmpty(dictType)) { - cell.setCellValue(convertDictByExp(dictType, Convert.toStr(value))); + cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator)); } else { @@ -626,28 +628,36 @@ * * @param propertyValue 鍙傛暟鍊� * @param converterExp 缈昏瘧娉ㄨВ + * @param separator 鍒嗛殧绗� * @return 瑙f瀽鍚庡�� - * @throws Exception */ - public static String convertByExp(String propertyValue, String converterExp) throws Exception + public static String convertByExp(String propertyValue, String converterExp, String separator) { - try + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) { - String[] convertSource = converterExp.split(","); - for (String item : convertSource) + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) { - String[] itemArray = item.split("="); + for (String value : propertyValue.split(separator)) + { + if (itemArray[0].equals(value)) + { + propertyString.append(itemArray[1] + separator); + break; + } + } + } + else + { if (itemArray[0].equals(propertyValue)) { return itemArray[1]; } } } - catch (Exception e) - { - throw e; - } - return propertyValue; + return StringUtils.stripEnd(propertyString.toString(), separator); } /** @@ -655,52 +665,62 @@ * * @param propertyValue 鍙傛暟鍊� * @param converterExp 缈昏瘧娉ㄨВ + * @param separator 鍒嗛殧绗� * @return 瑙f瀽鍚庡�� - * @throws Exception */ - public static String reverseByExp(String propertyValue, String converterExp) throws Exception + public static String reverseByExp(String propertyValue, String converterExp, String separator) { - try + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) { - String[] convertSource = converterExp.split(","); - for (String item : convertSource) + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) { - String[] itemArray = item.split("="); + for (String value : propertyValue.split(separator)) + { + if (itemArray[1].equals(value)) + { + propertyString.append(itemArray[0] + separator); + break; + } + } + } + else + { if (itemArray[1].equals(propertyValue)) { return itemArray[0]; } } } - catch (Exception e) - { - throw e; - } - return propertyValue; + return StringUtils.stripEnd(propertyString.toString(), separator); } /** * 瑙f瀽瀛楀吀鍊� * - * @param dictType 瀛楀吀绫诲瀷 * @param dictValue 瀛楀吀鍊� + * @param dictType 瀛楀吀绫诲瀷 + * @param separator 鍒嗛殧绗� * @return 瀛楀吀鏍囩 */ - public static String convertDictByExp(String dictType, String dictValue) throws Exception + public static String convertDictByExp(String dictValue, String dictType, String separator) { - return DictUtils.getDictLabel(dictType, dictValue); + return DictUtils.getDictLabel(dictType, dictValue, separator); } /** * 鍙嶅悜瑙f瀽鍊煎瓧鍏稿�� * + * @param dictLabel 瀛楀吀鏍囩 * @param dictType 瀛楀吀绫诲瀷 - * @param dictValue 瀛楀吀鏍囩 + * @param separator 鍒嗛殧绗� * @return 瀛楀吀鍊� */ - public static String reverseDictByExp(String dictType, String dictLabel) throws Exception + public static String reverseDictByExp(String dictLabel, String dictType, String separator) { - return DictUtils.getDictValue(dictType, dictLabel); + return DictUtils.getDictValue(dictType, dictLabel, separator); } /** @@ -878,15 +898,7 @@ } else { - /* if ((Double) val % 1 > 0) - { - val = new DecimalFormat("0.00").format(val); - } - else - { - val = new DecimalFormat("0").format(val); - }*/ - val = new BigDecimal(val.toString()); // 瀵煎叆鐨勬暟鎹繚璇佸師姹佸師鍛筹紝涓嶅仛澶勭悊 + val = new BigDecimal(val.toString()); // 娴偣鏍煎紡澶勭悊 } } else if (cell.getCellTypeEnum() == CellType.STRING) -- Gitblit v1.9.3