Retour d'une plage de valeurs à l'aide de AbstractCalculationEngine
Contents
[
Hide
]
Aspose.Cells fournitRésuméCalculMoteur classe qui est utilisée pour implémenter des fonctions définies par l’utilisateur ou personnalisées qui ne sont pas prises en charge par Microsoft Excel en tant que fonctions intégrées.
Cet article explique comment renvoyer la plage de valeurs deRésuméCalculMoteur.
Le code suivant illustre l’utilisation duRésuméCalculMoteur classe et renvoie la plage de valeurs via sa méthode.
Créer une classe avec une fonctionCalculateCustomFunction. Cette classe implémenteRésuméCalculMoteur.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
public class CustomFunctionStaticValue : AbstractCalculationEngine | |
{ | |
public override void Calculate(CalculationData data) | |
{ | |
data.CalculatedValue = new object[][] { | |
new object[]{new DateTime(2015, 6, 12, 10, 6, 30), 2}, | |
new object[]{3.0, "Test"} | |
}; | |
} | |
} |
Utilisez maintenant la fonction ci-dessus dans votre programme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 workbook = new Workbook(); | |
Cells cells = workbook.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 calculationOptions = new CalculationOptions(); | |
calculationOptions.CustomEngine = new CustomFunctionStaticValue(); | |
workbook.CalculateFormula(calculationOptions); | |
// Save to xlsx by setting the calc mode to manual | |
workbook.Settings.FormulaSettings.CalculationMode = CalcModeType.Manual; | |
workbook.Save(dataDir + "output_out.xlsx"); | |
// Save to pdf | |
workbook.Save(dataDir + "output_out.pdf"); |