title: Generate Excel with merged header using NPOI?
body: <p>I tried to export excel sheet using NPOI like bellow but  I am unable to change the background color and set second cell value. Bellow are my code.</p>
  
  <pre><code>var workbook = new XSSFWorkbook();
  var sheet = workbook.CreateSheet("Commission");
  var row = sheet.CreateRow(0);
  
  var bStylehead = workbook.CreateCellStyle();
  bStylehead.BorderBottom = BorderStyle.Thin;
  bStylehead.BorderLeft = BorderStyle.Thin;
  bStylehead.BorderRight = BorderStyle.Thin;
  bStylehead.BorderTop = BorderStyle.Thin;
  bStylehead.Alignment = HorizontalAlignment.Center;
  bStylehead.VerticalAlignment = VerticalAlignment.Center;         
  bStylehead.FillBackgroundColor = HSSFColor.Green.Index;
  
  row.CreateCell(0);
  row.CreateCell(1);
  
  var r2 = sheet.CreateRow(1);
  r2.CreateCell(0, CellType.String).SetCellValue("Name");
  r2.CreateCell(1, CellType.String).SetCellValue("Address");
  r2.CreateCell(2, CellType.String).SetCellValue("city");
  r2.CreateCell(3, CellType.String).SetCellValue("state");
  
  var cra = new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 1);  
  var cra1 = new NPOI.SS.Util.CellRangeAddress(0, 0, 2, 3);               
  sheet.AddMergedRegion(cra);                         
  sheet.AddMergedRegion(cra1);         
  
  ICell cell = sheet.GetRow(0).GetCell(0);
  cell.SetCellType(CellType.String);
  cell.SetCellValue("Supplier Provided Data");
  cell.CellStyle = bStylehead;
  
  ICell cell1  = sheet.GetRow(0).GetCell(1);
  cell1.SetCellType(CellType.String);
  cell1.SetCellValue("Deal Provided Data");
  cell1.CellStyle = bStylehead;       
  </code></pre>
  
  <p>Desired Format:</p>
  
  <p><a href="https://i.stack.imgur.com/T3bWW.png" rel="noreferrer"><img src="https://i.stack.imgur.com/T3bWW.png" alt="Desired Format"></a></p>