使用Java如何给Excel文件的首行设置筛选?

使用Java如何给Excel文件的首行设置筛选?

我尝试用POI去实现,但是没能成功,导出前后没有变化

阅读 1.5k
3 个回答

官方示例试了一下,能正常显示筛选。

示例代码:

try  (
        Workbook wb = new HSSFWorkbook(); //or new XSSFWorkbook();
        OutputStream fileOut = Files.newOutputStream(Paths.get("workbook.xls"))
) {
    Sheet sheet = wb.createSheet();
    // 指定区域设置自动筛选
    sheet.setAutoFilter(CellRangeAddress.valueOf("C5:F200")); // 区域:C列5行~F列200行
    wb.write(fileOut);
} catch (IOException e) {
    throw new RuntimeException(e);
}

运行截图:
image.png

推荐使用GcExcel,GcExcel支持直接设置Excel筛选,具体代码如下。

public void EnableAutoFilter(){
    Workbook wb = new Workbook();
    //获取对应的sheet,并且取到对应区域,开启筛选
    wb.getWorksheets().get(0).getUsedRange().autoFilter();
    wb.save("output/EnableAutoFilter.xlsx");
}

上面的代码仅是开启了筛选功能,并没有实际设置筛选条件,如果希望设置筛选条件,可以参考:过滤 - GcExcel 中文文档Java版 | 服务端高性能表格组件 - 葡萄城

请给出设置的代码才比较好判断是使用的代码错了,还是逻辑错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏