ICustomFunction kullanarak bir Değer Aralığı Döndürme
buICustomFunction Aspose.Cells for Java 20.8 sürümünden beri kullanımdan kaldırılmıştır. lütfenSoyutHesaplamaMotoru sınıf. kullanımıSoyutHesaplamaMotoru sınıfı aşağıdaki makalede açıklanmıştır.
AbstractCalculationEngine kullanarak bir Değer Aralığı Döndürme.
Aspose.Cells sağlarICustomFunctionyerleşik işlevler olarak Microsoft Excel tarafından desteklenmeyen kullanıcı tanımlı veya özel işlevleri uygulamak için kullanılan arabirim.
Çoğunlukla uyguladığınızdaICustomFunction arayüz yöntemi, tek bir hücre değeri döndürmeniz gerekir. Ancak bazen, bir dizi değer döndürmeniz gerekir. Bu makale, değer aralığının nasıl döndürüleceğini açıklayacaktır.ICustomFunction.
ICustomFunction kullanarak bir Değer Aralığı Döndürme
Aşağıdaki kod uygularICustomFunction ve yöntemi aracılığıyla değer aralığını döndürür. lütfen kontrol edinizçıktı excel dosyası vepdf referansınız için kod ile oluşturulmuştur.
Bir işleve sahip bir sınıf oluşturunCalculateCustomFunction. Bu sınıf uygularICustomFunction.
// 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" } }); | |
} | |
} |
Şimdi programınıza yukarıdaki işlevi kullanın.
// 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"); | |