title: Filtering of blank rows in LinqToExcel before parsing (transformation / mapping)
body: <p>I am using LinqToExcel to map Excel rows to objects in a C# / .NET project.</p>
  
  <p>I put validation code in my transformation functions so that they do not only transform the data but also warn the user when there is some data missing.
  Example:</p>
  
  <pre><code>excel.AddTransformation&lt;PaymentObject&gt;(x =&gt; x.PaymentPeriod, cellvalue =&gt;
  {
      if (cellvalue.Length == 0)
      {
          throw new Exception(String.Format(Errors.EmptyField, ColumnNames.PaymentPeriod, ColumnNames.EmployeeNumber, lastCheckedEmployeeNumber));
      }
  
      return CultureInfo.InvariantCulture.TextInfo.ToTitleCase(cellvalue);
  });
  </code></pre>
  
  <p>However, I do NOT want that this validation is triggered by the empty rows which Excel sometimes adds at the bottom (see <a href="https://stackoverflow.com/questions/14738313/linqtoexcel-blank-rows">LinqToExcel blank rows</a>).</p>
  
  <p>My problem is that I can't use the solution mentioned there because I can't access the raw row data when calling something like</p>
  
  <pre><code>excel.Worksheet&lt;SomeType&gt;("WorksheetName").Where(row =&gt; row.Any(cell =&gt; cell != null));
  </code></pre>
  
  <p>This is because first the transformations are applied and the Where-method will be applied on the transformation results.</p>
  
  <p>Also - in the transformation functions I have no access to other values in the row, so I can't check whether it is a single empty cell (mistake) or the row is completely empty.</p>
  
  <p>Is it possible to filter out the empty rows BEFORE applying the transformations?</p>