/// <summary> /// Gets the totals row formula. /// </summary> /// <param name="tableName">Name of the table.</param> /// <param name="columns">The columns.</param> /// <returns></returns> public string GetTotalsRowFormula(string tableName, List <ColumnData> columns) { if (SubTotalType == SubTotalType.Formula) { return(ConvertFormula(Name, TotalsFormula, tableName, columns)); } else { return(string.Concat("IFERROR(SUBTOTAL(", SubTotalType.GetHashCode(), ",", tableName, "[", Name, "]),\"\")")); } }
/// <summary> /// Initializes a new instance of the <see cref="ColumnData" /> class. /// </summary> /// <param name="name">The name.</param> /// <param name="dataTypeName">Name of the data type.</param> /// <param name="subTotalType">Total type of the sub.</param> /// <param name="hidden">if set to <c>true</c> [hidden].</param> /// <param name="width">The width.</param> /// <param name="wrapped">if set to <c>true</c> [wrapped].</param> /// <param name="refColumnName">Name of the reference column.</param> /// <param name="invertSuccess">The invert success.</param> /// <param name="successValue">The success value.</param> /// <param name="columnFormula">The column formula.</param> /// <param name="totalsFormula">The totals formula.</param> /// <param name="tooltip">The tooltip.</param> public ColumnData(string name, string dataTypeName, SubTotalType subTotalType = SubTotalType.None, bool hidden = false, int?width = null, bool wrapped = false, string refColumnName = null, bool?invertSuccess = null, string successValue = null, string columnFormula = null, string totalsFormula = null, string tooltip = null) { Name = name; DataTypeName = dataTypeName; SubTotalType = subTotalType; Hidden = hidden; Width = width; Wrapped = wrapped; RefColumnName = refColumnName; InvertSuccess = invertSuccess; SuccessValue = successValue; ColumnFormula = columnFormula; TotalsFormula = totalsFormula ?? string.Empty; Tooltip = tooltip; }