Hi Ross,
Sorry for the delay in response.
CalcQuick objects do not expose a row, col data access model but, the CalcEngine requires such a model. So, CalcQuick uses a row, col access model internally but, only exposes using formula Key values to access formulas.
The Hashtable serves as the data store for the CalcQuick instance. The keys are the strings that are used to identify formulas and the values are FormulaInfo objects that hold information on each formula or value.
If you have source code please debug through the source, GetValueRowCol function in CalcQuick.cs returns the string corresponding to the cell A1.
//CalcQuick.cs
public object GetValueRowCol(int row, int col)
{
string key = this.RowsToKeyMap[row].ToString();
string s = this[key].ToString();
if(s != null && s.EndsWith("%") && s.Length > 1)
{
double d;
if(double.TryParse(s.Substring(0, s.Length-1), NumberStyles.Any, null, out d))
{
s = (d / 100).ToString();
}
}
return s;
}
Here is the modified sample:
SUBSTRING.zip
Best Regards,
Jeba.