Returnera ett värdeintervall med ICustomFunction
DeICustomFunction är utfasad sedan lanseringen av Aspose.Cells for Java 20.8. Vänligen användAbstractCalculation Engine klass. Användningen avAbstractCalculation Engine klass beskrivs i följande artikel.
Aspose.Cells tillhandahållerICustomFunctiongränssnitt som används för att implementera användardefinierade eller anpassade funktioner som inte stöds av Microsoft Excel som inbyggda funktioner.
Mest när du implementerarICustomFunction gränssnittsmetod måste du returnera ett enskilt cellvärde. Men ibland måste du returnera en rad värden. Den här artikeln kommer att förklara hur du returnerar värdeintervallet frånICustomFunction.
Returnera ett värdeintervall med ICustomFunction
Följande kod implementerarICustomFunction och returnerar värdeintervallet via sin metod. Vänligen kontrolleraoutput excel-fil ochpdf genereras med koden för din referens.
Skapa en klass med en funktionCalculateCustomFunction. Denna klass implementerarICustomFunction.
// 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" } }); | |
} | |
} |
Använd nu ovanstående funktion i ditt program.
// 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"); | |