import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelFilterSetter {
    public static void addFilterToFirstRow(String inputPath, String outputPath) throws IOException {
        try (FileInputStream fis = new FileInputStream(inputPath);
             Workbook workbook = new XSSFWorkbook(fis)) {
            Sheet sheet = workbook.getSheetAt(0); // 1枚目のシートを取得
            // 1行目のセル数(列数)を取得
            int lastColumn = sheet.getRow(0).getLastCellNum() - 1;
            if (lastColumn >= 0) {
                // フィルタの範囲を1行目に設定(例: A1〜C1)
                sheet.setAutoFilter(new CellRangeAddress(0, 0, 0, lastColumn));
            }
            // 保存
            try (FileOutputStream fos = new FileOutputStream(outputPath)) {
                workbook.write(fos);
            }
        }
    }
}