示例#1
0
        public IXLRows FindRows(Func <IXLRow, Boolean> predicate)
        {
            var rows = new XLRows(null);

            foreach (XLWorksheet ws in WorksheetsInternal)
            {
                foreach (IXLRow row in ws.Rows().Where(predicate))
                {
                    rows.Add(row as XLRow);
                }
            }
            return(rows);
        }
 public IXLRows RowsUsed(Boolean includeFormats = false, Func<IXLRow, Boolean> predicate = null)
 {
     var rows = new XLRows(Worksheet);
     var rowsUsed = new HashSet<Int32>();
     Internals.RowsCollection.Keys.ForEach(r => rowsUsed.Add(r));
     Internals.CellsCollection.RowsUsed.Keys.ForEach(r => rowsUsed.Add(r));
     foreach (var rowNum in rowsUsed)
     {
         var row = Row(rowNum);
         if (!row.IsEmpty(includeFormats) && (predicate == null || predicate(row)))
             rows.Add(row);
         else
             row.Dispose();
     }
     return rows;
 }
        public IXLRows Rows(Int32 firstRow, Int32 lastRow)
        {
            var retVal = new XLRows(null);

            for (int ro = firstRow; ro <= lastRow; ro++)
                retVal.Add(Row(ro));
            return retVal;
        }
 public IXLRows Rows(String rows)
 {
     var retVal = new XLRows(null);
     var rowPairs = rows.Split(',');
     foreach (string tPair in rowPairs.Select(pair => pair.Trim()))
     {
         String firstRow;
         String lastRow;
         if (tPair.Contains(':') || tPair.Contains('-'))
         {
             var rowRange = XLHelper.SplitRange(tPair);
             firstRow = rowRange[0];
             lastRow = rowRange[1];
         }
         else
         {
             firstRow = tPair;
             lastRow = tPair;
         }
         foreach (IXLRow row in Rows(Int32.Parse(firstRow), Int32.Parse(lastRow)))
             retVal.Add((XLRow)row);
     }
     return retVal;
 }
        public IXLRows Rows()
        {
            var retVal = new XLRows(this);
            var rowList = new List<Int32>();

            if (Internals.CellsCollection.Count > 0)
                rowList.AddRange(Internals.CellsCollection.RowsUsed.Keys);

            if (Internals.RowsCollection.Count > 0)
                rowList.AddRange(Internals.RowsCollection.Keys.Where(r => !rowList.Contains(r)));

            foreach (int r in rowList)
                retVal.Add(Row(r));

            return retVal;
        }
示例#6
0
 public IXLRows FindRows(Func<IXLRow, Boolean> predicate)
 {
     var rows = new XLRows(null);
     foreach (XLWorksheet ws in WorksheetsInternal)
     {
         foreach (IXLRow row in ws.Rows().Where(predicate))
             rows.Add(row as XLRow);
     }
     return rows;
 }