Zurückgeben eines Wertebereichs mit ICustomFunction
DasICustomFunction ist seit der Veröffentlichung von Aspose.Cells veraltet for Java 20.8. Bitte verwenden Sie dieAbstractCalculationEngine Klasse. Die Verwendung derAbstractCalculationEngine Klasse wird im folgenden Artikel beschrieben.
Zurückgeben eines Wertebereichs mit AbstractCalculationEngine.
Aspose.Cells bietetICustomFunctionSchnittstelle, die verwendet wird, um benutzerdefinierte oder benutzerdefinierte Funktionen zu implementieren, die von Microsoft Excel nicht als integrierte Funktionen unterstützt werden.
Meistens, wenn Sie die implementierenICustomFunction -Schnittstellenmethode müssen Sie einen einzelnen Zellenwert zurückgeben. Aber manchmal müssen Sie einen Wertebereich zurückgeben. In diesem Artikel wird erläutert, wie Sie den Wertebereich zurückgebenICustomFunction.
Zurückgeben eines Wertebereichs mit ICustomFunction
Der folgende Code implementiertICustomFunction und gibt den Wertebereich über seine Methode zurück. Bitte überprüfen Sie dieExcel-Datei ausgeben undpdf generiert mit dem Code für Ihre Referenz.
Erstellen Sie eine Klasse mit einer FunktionBenutzerdefinierte Funktion berechnen. Diese Klasse implementiertICustomFunction.
// 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" } }); | |
} | |
} |
Verwenden Sie nun die obige Funktion in Ihrem Programm.
// 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"); | |