Excel API Library for Java - Sample Browser | Document Solutions | MyConcatenateFunction

[フレーム] src="bundle.js"> This sample demonstrates how to implement a custom function to concatenate text of each cell. // Create a new workbook Workbook workbook = new Workbook(); Workbook.AddCustomFunction(new MyConcatenateFunctionX()); IWorksheet worksheet = workbook.getActiveSheet(); worksheet.getRange("A1").setFormula("=MyConcatenate(\"I\", \" \", \"live\", \" \", \"in\", \" \", \"Xi'an\", \".\")"); worksheet.getRange("A2").setFormula("=MyConcatenate(A1, \"haha.\")"); worksheet.getRange("B1").setValue(12); worksheet.getRange("B2").setValue(34); worksheet.getRange("B3").setFormula("=MyConcatenate(B1, B2)"); worksheet.getRange("M5:N5").setFormulaArray("=CONCATENATE({\"aa\",\"bb\"}, 12, 34)"); //"I live in Xi'an." Object resultA1 = worksheet.getRange("A1").getValue(); //"I live in Xi'an.haha." Object resultA2 = worksheet.getRange("A2").getValue(); //"12.034.0" Object resultB3 = worksheet.getRange("B3").getValue(); //"aa1234" Object resultM5 = worksheet.getRange("M5").getValue(); //"bb1234" Object resultN5 = worksheet.getRange("N5").getValue(); /* Implementation of MyAddFunctionX class MyConcatenateFunctionX extends CustomFunction { public MyConcatenateFunctionX() { super("MyConcatenate", FunctionValueType.Text, CreateParameters()); } static Parameter[] CreateParameters() { Parameter[] parameters = new Parameter[254]; for (int i = 0; i < 254; i++) { parameters[i] = new Parameter(FunctionValueType.Variant); } return parameters; } @Override public Object evaluate(Object[] arguments, ICalcContext context) { StringBuilder sb = new StringBuilder(); for (Object argument : arguments) { if (argument instanceof CalcError) { return argument; } if (argument instanceof String || argument instanceof Double) { sb.append(argument); } } return sb.toString(); } } */ // Create a new workbook var workbook = Workbook() Workbook.AddCustomFunction(MyConcatenateFunctionX()) val worksheet = workbook.activeSheet worksheet.getRange("A1").formula = "=MyConcatenate(\"I\", \" \", \"live\", \" \", \"in\", \" \", \"Xi'an\", \".\")" worksheet.getRange("A2").formula = "=MyConcatenate(A1, \"haha.\")" worksheet.getRange("B1").value = 12 worksheet.getRange("B2").value = 34 worksheet.getRange("B3").formula = "=MyConcatenate(B1, B2)" worksheet.getRange("M5:N5").formulaArray = "=CONCATENATE({\"aa\",\"bb\"}, 12, 34)" //"I live in Xi'an." val resultA1 = worksheet.getRange("A1").value //"I live in Xi'an.haha." val resultA2 = worksheet.getRange("A2").value //"12.034.0" val resultB3 = worksheet.getRange("B3").value //"aa1234" val resultM5 = worksheet.getRange("M5").value //"bb1234" val resultN5 = worksheet.getRange("N5").value /* Implementation of MyAddFunctionX class MyConcatenateFunctionX extends CustomFunction { public MyConcatenateFunctionX() { super("MyConcatenate", FunctionValueType.Text, CreateParameters()); } static Parameter[] CreateParameters() { Parameter[] parameters = new Parameter[254]; for (int i = 0; i < 254; i++) { parameters[i] = new Parameter(FunctionValueType.Variant); } return parameters; } @Override public Object evaluate(Object[] arguments, ICalcContext context) { StringBuilder sb = new StringBuilder(); for (Object argument : arguments) { if (argument instanceof CalcError) { return argument; } if (argument instanceof String || argument instanceof Double) { sb.append(argument); } } return sb.toString(); } } */

AltStyle によって変換されたページ (->オリジナル) /