Skip to content

Using Lambda Expressions

Francois Botha edited this page Feb 26, 2018 · 3 revisions

We start with the basic table:

BasicTable.jpg

var workbook = new XLWorkbook("BasicTable.xlsx");
var ws = workbook.Worksheet(1);

// Define a range with the data
var firstDataCell = ws.Cell("B4");
var lastDataCell = ws.LastCellUsed();
var rngData = ws.Range(firstDataCell.Address, lastDataCell.Address);

// Delete all rows where Outcast = false (the 3rd column)
rngData.Rows(r => !r.Cell(3).GetBoolean()) // where the 3rd cell of each row is false
  .ForEach(r => r.Delete()); // delete the row and shift the cells up (the default for rows in a range)

// Put a light gray background to all text cells
rngData.Cells(c => c.DataType == XLCellValues.Text) // where the data type is Text
  .ForEach(c => c.Style.Fill.BackgroundColor = XLColor.LightGray); // Fill with a light gray

// Put a thick border to the bottom of the table (we may have deleted the bottom cells with the border)
rngData.LastRow().Style.Border.BottomBorder = XLBorderStyleValues.Thick;

workbook.SaveAs("LambdaExpressions.xlsx");

And we end up with the following table:

LambdaExpressions.jpg

FAQ

Examples

Real world scenarios

Time Savers

Performance and Memory

Misc

Inserting Data/Tables

Styles

Ranges

Rows

Columns

Page Setup (Print Options)

AutoFilters

Comments

Dev docs

Clone this wiki locally