如何读取Excel Sheet并将其转换为Java类
时间: 2024-02-23 15:03:27 浏览: 14
你可以使用Apache POI库来读取Excel Sheet并将其转换为Java类。下面是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
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.xssf.usermodel.XSSFWorkbook;
public class ExcelReader {
public static void main(String[] args) throws IOException {
String excelFilePath = "path/to/excel/file.xlsx";
FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheet("Sheet1");
Iterator<Row> iterator = sheet.iterator();
ArrayList<Employee> employees = new ArrayList<>();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
Employee employee = new Employee();
while (cellIterator.hasNext()) {
Cell nextCell = cellIterator.next();
int columnIndex = nextCell.getColumnIndex();
switch (columnIndex) {
case 0:
employee.setId((int) nextCell.getNumericCellValue());
break;
case 1:
employee.setName(nextCell.getStringCellValue());
break;
case 2:
employee.setAge((int) nextCell.getNumericCellValue());
break;
}
}
employees.add(employee);
}
workbook.close();
inputStream.close();
// Do something with the employees list
}
}
class Employee {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在这个示例中,我们读取了名为“Sheet1”的Excel Sheet,并将其转换为一个包含Employee对象的ArrayList。你可以根据需要修改代码来适应你的Excel Sheet和Java类。