diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index ff19e54bd2..958098b5e2 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -763,12 +763,11 @@ public class ExtractDataService { userDefinedJavaClassMeta.setFieldInfo(fields); List definitions = new ArrayList(); String tmp_code = code.replace("alterColumnTypeCode", needToChangeColumnType).replace("Column_Fields", String.join(",", datasetTableFields.stream().map(DatasetTableField::getOriginName).collect(Collectors.toList()))); + tmp_code = tmp_code.replace("handleWraps", handleWraps); if(isExcel){ tmp_code = tmp_code.replace("handleExcelIntColumn", handleExcelIntColumn); - tmp_code = tmp_code.replace("handleExcelWraps", handleExcelWraps); }else { tmp_code = tmp_code.replace("handleExcelIntColumn", ""); - tmp_code = tmp_code.replace("handleExcelWraps", ""); } UserDefinedJavaClassDef userDefinedJavaClassDef = new UserDefinedJavaClassDef(UserDefinedJavaClassDef.ClassType.TRANSFORM_CLASS, "Processor", tmp_code); @@ -861,13 +860,12 @@ public class ExtractDataService { " }catch (Exception e){}\n" + " }"; - private static String handleExcelWraps = " \n" + - " if(tmp != null ){\n" + - " tmp = tmp.trim();\n" + - " tmp = tmp.replaceAll(\"\\r\",\" \");\n" + - " tmp = tmp.replaceAll(\"\\n\",\" \");\n" + - " get(Fields.Out, filed).setValue(r, tmp);\n" + - " }"; + private static String handleWraps = " if(tmp != null && ( tmp.contains(\"\\r\") || tmp.contains(\"\\n\"))){\n" + + "\t\t\ttmp = tmp.trim();\n" + + " tmp = tmp.replaceAll(\"\\r\",\" \");\n" + + " tmp = tmp.replaceAll(\"\\n\",\" \");\n" + + " get(Fields.Out, filed).setValue(r, tmp);\n" + + " } "; private static String code = "import org.pentaho.di.core.row.ValueMetaInterface;\n" + "import java.util.List;\n" + @@ -898,7 +896,7 @@ public class ExtractDataService { " List fileds = Arrays.asList(\"Column_Fields\".split(\",\"));\n" + " for (String filed : fileds) {\n" + " String tmp = get(Fields.In, filed).getString(r);\n" + - "handleExcelWraps \n" + + "handleWraps \n" + "alterColumnTypeCode \n" + "handleExcelIntColumn \n" + " str = str + tmp;\n" +