Java 读取两个excel表并判断是否存在两个相同的人
时间: 2023-08-04 16:14:14 浏览: 90
可以使用 Apache POI 库来实现读取 Excel 表格,并使用 Set 来判断是否存在两个相同的人。以下是示例代码:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ExcelReader {
public static void main(String[] args) throws IOException {
// 读取第一个 Excel 表格
FileInputStream inputStream1 = new FileInputStream("excel1.xlsx");
Workbook workbook1 = WorkbookFactory.create(inputStream1);
Sheet sheet1 = workbook1.getSheetAt(0);
// 读取第二个 Excel 表格
FileInputStream inputStream2 = new FileInputStream("excel2.xlsx");
Workbook workbook2 = WorkbookFactory.create(inputStream2);
Sheet sheet2 = workbook2.getSheetAt(0);
// 使用 Set 来存储姓名,判断是否存在相同的人
Set<String> names = new HashSet<>();
for (Row row : sheet1) {
Cell cell = row.getCell(0);
if (cell != null) {
String name = cell.getStringCellValue();
names.add(name);
}
}
for (Row row : sheet2) {
Cell cell = row.getCell(0);
if (cell != null) {
String name = cell.getStringCellValue();
if (names.contains(name)) {
System.out.println("存在相同的人:" + name);
}
}
}
// 关闭输入流和工作簿
inputStream1.close();
inputStream2.close();
workbook1.close();
workbook2.close();
}
}
```
其中,"excel1.xlsx" 和 "excel2.xlsx" 分别是要读取的两个 Excel 表格,第一列是姓名。程序会输出存在相同的人的姓名。
阅读全文