using System;
using ClosedXML.Excel;
namespace ClosedXML_Examples
{
public class InsertingDeletingColumns : IXLExample
{
public void Create(String filePath)
{
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Inserting and Deleting Columns");
// Range starts with 2 columns
var rng = ws.Range("B2:C3"); // Range starts on B2
// Insert a column before the range
ws.Column(1).InsertColumnsAfter(1); // Range starts on C2
// Insert a column in between the range
ws.Column(3).InsertColumnsAfter(1); // Range now has 3 columns
// Insert a column (from a range) before the range
ws.Range("A2:A3").InsertColumnsAfter(1); // Range starts on D2
// Insert a column (from a range) in between the range
ws.Range("D2:D3").InsertColumnsAfter(1); // Range now has 4 columns
// Inserting columns from a range not covering all columns
// does not affect our defined range
ws.Range("A1:A2").InsertColumnsAfter(1);
ws.Range("E3:E4").InsertColumnsAfter(1);
// Delete a column before the range
ws.Column(1).Delete(); // Range starts on C2
// Delete a column (from a range) before the range
ws.Range("A2:A3").Delete(XLShiftDeletedCells.ShiftCellsLeft); // Range starts on B2
// Delete a column in between the range
ws.Column(3).Delete(); // Range now has 3 columns
// Delete a column (from a range) in between the range
ws.Range("C2:C3").Delete(XLShiftDeletedCells.ShiftCellsLeft); // Range now has 2 columns
// Deleting columns from a range not covering all columns
// does not affect our defined range
ws.Range("A1:A2").Delete(XLShiftDeletedCells.ShiftCellsLeft);
ws.Range("D3:D4").Delete(XLShiftDeletedCells.ShiftCellsLeft);
rng.Style.Fill.BackgroundColor = XLColor.Orange;
workbook.SaveAs(filePath);
}
}
}