只需在数据区域和页脚行之间添加一个空行。数据区域可以由空行和列/标题限制。
虽然你选择了A4:A6
,只是A4
被标记为自动过滤器……我不确定,但我认为,你只能通过 VBA 实现水平自动过滤器。所以setAutoFilter
应该是这样的A4:B4
,因为你只标记标题而不是数据区域。
(使用 POI 3.9、Libre Office 4.0 测试)
import java.io.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.util.*;
public class Autofilter {
public static void main(String[] args) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
sheet.createRow(3).createCell(0).setCellValue("Protocol Number");
sheet.createRow(4).createCell(0).setCellValue("DEMONNUMBER1");
sheet.createRow(5).createCell(0).setCellValue("DEMONNUMBER2");
sheet.createRow(6).setZeroHeight(true);
sheet.createRow(7).createCell(0).setCellValue("Average");
sheet.setAutoFilter(CellRangeAddress.valueOf("A4:B4"));
FileOutputStream fos = new FileOutputStream("autofilter.xls");
wb.write(fos);
fos.close();
}
}