Restituzione di un Intervallo di Valori utilizzando ICustomFunction

Restituire una gamma di valori utilizzando ICustomFunction

Il codice seguente implementa ICustomFunction e restituisce l’intervallo di valori tramite il suo metodo. Si prega di controllare il file excel di output e il pdf generati con il codice per il riferimento.

Crea una classe con una funzione CalculateCustomFunction. Questa classe implementa ICustomFunction

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
import java.util.ArrayList;
import com.aspose.cells.AbstractCalculationEngine;
import com.aspose.cells.CalculationData;
import com.aspose.cells.DateTime;
public class CustomFunctionStaticValue extends AbstractCalculationEngine {
@Override
public void calculate(CalculationData calculationData) {
calculationData.setCalculatedValue(new Object[][] { new Object[] { new DateTime(2015, 6, 12, 10, 6, 30), 2 },
new Object[] { 3.0, "Test" } });
}
}

Ora utilizza la funzione sopra nel tuo programma

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(ReturningRangeOfValues.class);
Workbook wb = new Workbook();
Cells cells = wb.getWorksheets().get(0).getCells();
Cell cell = cells.get(0, 0);
cell.setArrayFormula("=MYFUNC()", 2, 2);
Style style = cell.getStyle();
style.setNumber(14);
cell.setStyle(style);
CalculationOptions copt = new CalculationOptions();
copt.setCustomFunction(new CustomFunctionStaticValue());
wb.calculateFormula(copt);
// Save to xlsx by setting the calc mode to manual
wb.getSettings().getFormulaSettings().setCalculationMode(CalcModeType.MANUAL);
wb.save(dataDir + "output.xlsx");
// Save to pdf
wb.save(dataDir + "output.pdf");