Java如何实现筛选Excel表中的数据
时间: 2024-03-12 20:49:39 浏览: 122
Java 可以使用 Apache POI 库来读取和写入 Excel 文件,并使用 AutoFilter 类来筛选数据。以下是一个示例代码段来筛选数据:
```
// 创建工作簿和工作表
Workbook workbook = WorkbookFactory.create(new File("example.xlsx"));
Sheet sheet = workbook.getSheet("Sheet1");
// 获取筛选器
AutoFilter filter = sheet.getAutoFilter();
// 创建过滤规则
FilterColumn filterColumn = filter.getColumn(0); // 获取第一列的过滤规则
filterColumn.setFilterType(FilterType.EQUAL); // 设置过滤类型为等于
filterColumn.addFilterCriteria("John"); // 添加过滤条件为 John
// 应用过滤规则
filter.applyFilter();
// 遍历筛选后的数据行
for (Row row : sheet) {
if (!filter.isRowHidden(row.getRowNum())) {
// 该行数据未被筛选,可以进行处理
Cell cell1 = row.getCell(0);
Cell cell2 = row.getCell(1);
System.out.println(cell1.getStringCellValue() + ", " + cell2.getNumericCellValue());
}
}
// 关闭工作簿
workbook.close();
```
在此示例中,我们打开一个名为 example.xlsx 的工作簿,并获取名为 Sheet1 的工作表。然后,我们获取工作表的筛选器,并创建一个过滤规则,该规则筛选第一列中等于 John 的数据行。接下来,我们应用过滤规则,并遍历工作表中的每一行数据,仅处理未被筛选的行。最后,我们关闭工作簿。
注意,在使用 AutoFilter 类进行筛选之前,必须先设置工作表的筛选器。可以使用 setAutoFilter 方法来设置筛选器,就像前面提到的那样。
阅读全文