private static void FillColRange(TKeyList Items, XlsFile xls, TXlsCellRange Range, int[] Keys, TSortOrder[] SortOrder, IComparer Comparer) { for (int c = Range.Left; c <= Range.Right; c++) { object[] Values; if (Keys == null) { int Len = Range.RowCount; if (Len > 8) { Len = 8; //avoid taking up too much memory. } Values = new object[Len]; for (int r = 0; r < Values.Length; r++) { Values[r] = xls.GetCellValue(Range.Top + r, c); } } else { Values = new object[Keys.Length]; for (int r = 0; r < Keys.Length; r++) { Values[r] = xls.GetCellValue(Keys[r], c); } } Items.Add(new TKeyItem(c, Values, SortOrder, Comparer)); } }
private static void FillRowRange(TKeyList Items, XlsFile xls, TXlsCellRange Range, int[] Keys, TSortOrder[] SortOrder, IComparer Comparer) { for (int r = Range.Top; r <= Range.Bottom; r++) { object[] Values; if (Keys == null) { int Len = Range.ColCount; if (Len > 8) { Len = 8; //avoid taking up too much memory. } Values = new object[Len]; for (int c = 0; c < Values.Length; c++) { Values[c] = xls.GetCellValue(r, Range.Left + c); } } else { Values = new object[Keys.Length]; for (int c = 0; c < Keys.Length; c++) { Values[c] = xls.GetCellValue(r, Keys[c]); } } Items.Add(new TKeyItem(r, Values, SortOrder, Comparer)); } }