Aspose.Cells, Excel, ICustomFunction, bir dizi değeri döndürür
ICustomFunction, Aspose.Cells for Java sürümü ile kullanımdan kaldırılmıştır 20.8. Lütfen AbstractCalculationEngine sınıfını kullanın. AbstractCalculationEngine sınıfının kullanımı aşağıdaki makalede açıklanmaktadır.
AbstractCalculationEngine Kullanarak Bir Değer Aralığı Döndürme.
Aspose.Cells, Microsoft Excel tarafından desteklenmeyen kullanıcı tanımlı veya özel işlevleri uygulamak için kullanılan ICustomFunction arayüzünü sağlar.
Çoğunlukla ICustomFunction arayüz methodunu uyguladığınızda tek hücre değeri döndürmeniz gerekir. Ancak bazen, ICustomFunction aralığındaki değerleri döndürmeniz gerekir. Bu makale, ICustomFunction aralığındaki değerlerin nasıl döndürüleceğini açıklayacaktır.
Aşağıdaki kod ICustomFunction uygular ve metodunu kullanarak değerlerin aralığını döndürür.
Bir CalculateCustomFunction işlevi olan bir sınıf oluşturun. Bu sınıf, ICustomFunction uygular.
// 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 yukarıdaki işlevi programınıza ekleyin.
// 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"); |