java实现对象接收excel导入数据
时间: 2023-08-12 09:08:50 浏览: 151
java实现Excel数据导入
4星 · 用户满意度95%
要实现Java对象接收Excel导入数据,可以使用Apache POI库来处理Excel文件的读取和解析。以下是一个示例代码,可以将Excel文件中的数据转化为Java对象:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
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 ExcelToObject {
public static void main(String[] args) throws IOException {
// 读取Excel文件
FileInputStream inputStream = new FileInputStream(new File("input.xlsx"));
// 获取工作簿对象
Workbook workbook = WorkbookFactory.create(inputStream);
// 获取Sheet对象
Sheet sheet = workbook.getSheetAt(0);
// 创建对象列表
List<MyObject> dataList = new ArrayList<>();
// 迭代行
Iterator<Row> rowIterator = sheet.rowIterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
// 跳过表头行
if (row.getRowNum() == 0) {
continue;
}
// 创建对象
MyObject obj = new MyObject();
// 迭代列
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
int columnIndex = cell.getColumnIndex();
// 根据列索引设置对象的字段值
switch (columnIndex) {
case 0:
obj.setId(cell.getStringCellValue());
break;
case 1:
obj.setName(cell.getStringCellValue());
break;
case 2:
obj.setAge((int) cell.getNumericCellValue());
break;
case 3:
obj.setAddress(cell.getStringCellValue());
break;
default:
break;
}
}
// 将对象添加到列表中
dataList.add(obj);
}
// 关闭工作簿和输入流
workbook.close();
inputStream.close();
// 输出对象列表
for (MyObject obj : dataList) {
System.out.println(obj);
}
}
}
```
在这个示例代码中,我们首先读取Excel文件并解析出其中的Sheet对象,然后逐行迭代,将每行数据转化为一个Java对象,并添加到一个对象列表中。在迭代列时,我们根据列索引设置对象的各个字段值。最后,我们输出对象列表,并关闭工作簿和输入流。
需要注意的是,这里的示例中使用了自定义的MyObject类来表示Excel表格中的一行数据,你需要根据实际情况进行修改。另外,如果要处理比较大的Excel文件,建议使用XSSF模式,这样可以更好地处理大量数据。
阅读全文