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.
Aşağıdaki kod uygularICustomFunctionve yöntemi aracılığıyla değer aralığını döndürür.
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-.NET | |
public class CustomFunctionStaticValue : ICustomFunction | |
{ | |
public object CalculateCustomFunction(string functionName, ArrayList paramsList, ArrayList contextObjects) | |
{ | |
return 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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook | |
Workbook wb = new Workbook(); | |
Cells cells = wb.Worksheets[0].Cells; | |
// Set formula | |
Cell cell = cells[0, 0]; | |
cell.SetArrayFormula("=MYFUNC()", 2, 2); | |
Style style = cell.GetStyle(); | |
style.Number = 14; | |
cell.SetStyle(style); | |
// Set calculation options for formula | |
CalculationOptions copt = new CalculationOptions(); | |
copt.CustomEngine = new CustomFunctionStaticValue(); | |
wb.CalculateFormula(copt); | |
// Save to xlsx by setting the calc mode to manual | |
wb.Settings.FormulaSettings.CalculationMode = CalcModeType.Manual; | |
wb.Save(dataDir + "output_out.xlsx"); | |
// Save to pdf | |
wb.Save(dataDir + "output_out.pdf"); |