static void Main(string[] args)
{
IWorkbook wb = new XSSFWorkbook();
ISheet sheet1 = wb.CreateSheet("new sheet");
ISheet sheet2 = wb.CreateSheet("second sheet");
// Set the columns to repeat from column 0 to 2 on the first sheet
IRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue(1);
row1.CreateCell(1).SetCellValue(2);
row1.CreateCell(2).SetCellValue(3);
IRow row2 = sheet1.CreateRow(1);
row2.CreateCell(1).SetCellValue(4);
row2.CreateCell(2).SetCellValue(5);
IRow row3 = sheet2.CreateRow(1);
row3.CreateCell(0).SetCellValue(2.1);
row3.CreateCell(4).SetCellValue(2.2);
row3.CreateCell(5).SetCellValue(2.3);
IRow row4 = sheet2.CreateRow(2);
row4.CreateCell(4).SetCellValue(2.4);
row4.CreateCell(5).SetCellValue(2.5);
// Set the columns to repeat from column 0 to 2 on the first sheet
wb.SetRepeatingRowsAndColumns(0, 0, 2, -1, -1);
// Set the the repeating rows and columns on the second sheet.
wb.SetRepeatingRowsAndColumns(1, 4, 5, 1, 2);
//set the print area for the first sheet
wb.SetPrintArea(0, 1, 2, 0, 3);
FileStream sw = File.Create("test.xlsx");
wb.Write(sw);
sw.Close();
}