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(); } } */