java写一个上传excel文件并解析数据的功能 excel文件中有两列 姓名 身份证
时间: 2024-09-16 16:02:30 浏览: 21
在Java中,我们可以使用Apache POI库来读取Excel文件并解析数据。这里是一个简单的步骤说明:
1. 首先,确保已经添加了Apache POI依赖到项目中。如果你使用Maven,可以在pom.xml中加入:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
```
2. 创建一个读取Excel文件的方法,例如`readDataFromExcel`:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public List<Name身份证Pair> readDataFromExcel(String filePath) throws IOException {
List<Name身份证Pair> data = new ArrayList<>();
FileInputStream file = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(file);
try {
Sheet sheet = workbook.getSheetAt(0); // 假设第一个工作表有姓名和身份证数据
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row currentRow = rowIterator.next();
if (currentRow.getRowNum() == 0) { // 忽略标题行
continue;
}
Cell nameCell = currentRow.getCell(0);
Cell idCardCell = currentRow.getCell(1);
if (nameCell != null && !nameCell.getStringCellValue().isEmpty() &&
idCardCell != null && !idCardCell.getStringCellValue().isEmpty()) {
Name name = new Name(nameCell.getStringCellValue());
String id = idCardCell.getStringCellValue();
data.add(new Name身份证Pair(name, id));
}
}
} finally {
workbook.close();
}
return data;
}
class Name身份证Pair {
private Name name;
private String id;
// 构造函数、getter/setter...
}
class Name {
private String value;
// 构造函数、getter/setter...
}
```
3. 使用这个方法读取数据后,你可以遍历`data`列表处理姓名和身份证的信息。