First you must got code from here
Remove some columns with provided headers
public void deleteColumnsWithHeader(String columnHeader){
SXSSFSheet sheet = (SXSSFSheet)sh;
Row row = sheet.getRow( 0 );
if ( row == null ){
return;
}
int lastColumn = row.getLastCellNum();
for ( int x=lastColumn; x >= 0; x-- ){
Cell headerCell = row.getCell(x);
if ( headerCell != null && headerCell.getStringCellValue() != null &&
headerCell.getStringCellValue().equalsIgnoreCase(columnHeader)){
deleteColumn(x);
}
}
}
Keep only columns with provided headers
public void keepOnlyColumnsWithHeaders(List<string> columnHeaders){
SXSSFSheet sheet = (SXSSFSheet)sh;
Row row = sheet.getRow( 0 );
if ( row == null ){
return;
}
int lastColumn = row.getLastCellNum();
for ( int x=lastColumn; x >= 0; x-- ){
Cell headerCell = row.getCell(x);
if ( headerCell != null && headerCell.getStringCellValue() != null &&
!columnHeaders.contains(headerCell.getStringCellValue())){
deleteColumn(x);
}
}
}