// Create a new workbook Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.getWorksheets().get(0); Object data = new Object[][]{ {"Name", "City", "Birthday", "Eye color", "Weight", "Height"}, {"Richard", "New York", new GregorianCalendar(1968, 5, 8), "Blue", 67, 165}, {"Nia", "New York", new GregorianCalendar(1972, 6, 3), "Brown", 62, 134}, {"Jared", "New York", new GregorianCalendar(1964, 2, 2), "Hazel", 72, 180}, {"Natalie", "Washington", new GregorianCalendar(1972, 7, 8), "Blue", 66, 163}, {"Damon", "Washington", new GregorianCalendar(1986, 1, 2), "Hazel", 76, 176}, {"Angela", "Washington", new GregorianCalendar(1993, 1, 15), "Brown", 68, 145} }; worksheet.getRange("A1:F7").setValue(data); worksheet.getRange("A:F").setColumnWidth(15); worksheet.getRange("A:F").group(); worksheet.getRange("A:B").group(); worksheet.getRange("D:E").group(); List groupInfo = worksheet.getOutline().getColumnGroupInfo(); HashMap colInfo = new HashMap<>(); for (IGroupInfo item : groupInfo) { if (item.getChildren() != null) { for (IGroupInfo childItem : item.getChildren()) { if (childItem.getStartIndex() > 2) { childItem.collapse(); } if (childItem.getLevel() == 2) { colInfo.put(childItem.getStartIndex(), childItem.getEndIndex()); } } } } StringBuilder builder = new StringBuilder(); for (Map.Entry item : colInfo.entrySet()) { builder.append("column " + (item.getKey() + 1) + " to column " + (item.getValue() + 1) + ", "); } worksheet.getRange("A12").setValue("The columns where the group level is 2 are: " + builder.toString()); worksheet.getRange("A12").setRowHeight(25); worksheet.getRange("A12").getFont().setColor(Color.GetRed()); worksheet.getRange("A12").getFont().setSize(15); // Save to an excel file workbook.save("GetColumnInfo.xlsx");