/// <summary> /// Get the format index that matches the given format /// string, creating a new format entry if required. /// Aliases text to the proper format as required. /// </summary> /// <param name="pFormat">The format string matching a built in format.</param> /// <returns>index of format.</returns> public short GetFormat(String pFormat) { IEnumerator i; int ind; String format; if (pFormat.ToUpper().Equals("TEXT")) { format = "@"; } else { format = pFormat; } if (!movedBuiltins) { i = builtinFormats.GetEnumerator(); ind = 0; while (i.MoveNext()) { for (int j = formats.Count; formats.Count < ind + 1; j++) { formats.Add(null); } formats[ind] = i.Current as string; ind++; } movedBuiltins = true; } i = formats.GetEnumerator(); ind = 0; while (i.MoveNext()) { if (format.Equals(i.Current)) { return((short)ind); } ind++; } ind = workbook.GetFormat(format, true); for (int j = formats.Count; formats.Count < ind + 1; j++) { formats.Add(null); } formats[ind] = format; return((short)ind); }