Calculate allows you to add extensive calculation support to your business objects in Windows Forms, ASP.NET, WPF, and Silverlight applications. Easily set up forms have calculation dependencies among various controls. Calculate comes with a function library of more than 400 entries, and it supports cross-sheet references. When used in conjunction with Essential XlsIO, you can fully load, manipulate, and compute Excel worksheets with no dependence on Excel.
Excel-like calculation without Excel can be achieved easily and efficiently. All the functions carried out in Excel can be used to perform the required calculations. Moreover, calculate plus Essential XlsIO can be used to get, set, and access the values.
Calculate lets you add calculation support to objects by implementing an ICalcData interface. CalcQuick and CalcDataGrid both implement ICalcData, which gives them their calculation support. ICalcData is designed around a rectangular array of data, but this rectangular design can be hidden as seen in CalcQuick. Here is a simple application of this concept: When using Excel to design a workbook with a series of spreadsheets to calculate values based on inputs (using inputs like age, gender, state, and car model), you could have a workbook that does a series of lookups and then produces how much insuring a car may cost an individual. You could use calculate plus Essential XlsIO to read this workbook, accept a series of inputs, and output a series of results all on a machine that does not host Excel.
Calculate lets you add calculation support to objects by implementing an interface, ICalcData. CalcQuick and CalcDataGrid both implement ICalcData, which gives them their calculation support. ICalcData is designed around a rectangular array of data. This rectangular design can be hidden, just as in CalcQuick.
There are four members of the ICalcData interface, three methods, and one event. Two of the methods are used to get and set values, one method gives you access to the object after it has been created, and the event is used to notify listeners when values change.
CalcQuick will allow users to add the calculation support. This support can be given be to anything, like a collection of text box and combo box. The use of indexer will let you add the formula or values. Moreover, it facilitates both automatic and manual calculations.
Use CalcQuick to add calculation support to just about anything. You can register values or formulas using an indexer on the CalcQuick object. Following this, the act of retrieving a value through the CalcQuick indexing triggers the calculation.
A single command can add calculation support to a collection of text box and combo box controls. The following form allows users to select a formula and calculate the result based on their entered values.
Properties let you control whether changes to values tracked by a CalcEngine object automatically trigger dependent calculations. Turning off this auto calculation support lets you quickly change many values and then do the calculation only when all updates are completed.
The CalcDataGrid class enables support for calculations on a Windows Forms data grid. It allows you to use Excel-like formulas to calculate values that depend on other cells’ values. Calculate can manage multiple data-bound grid objects. Users can also have have formulas with reference values from one grid in another grid. Calculate also provides support for sheet ranges. Setting the CalcEngine.SupportsSheetRanges property to True makes the engine support sheet ranges such as “=SUM(Sheet1:Sheet3!A1)” and “=SUM(Sheet1:Sheet3!A1:B4)”.
Function libraries provides both custom functions and predefined functions.Almost all the calculate functions are available and made easier to implement.
Essential Calculate contains a library of more than 400 functions ready for your use. The functions used range from standard mathematical functions such as cosine and sine, to statistical functions like averages and standard deviations, and even financial functions (declining balance and future value, for example).