gpt4 book ai didi

java - 将数据从 Excel 文件存储到 Java Collection

转载 作者:行者123 更新时间:2023-11-30 10:45:21 25 4
gpt4 key购买 nike

我想从 Excel 文件中读取数据,并希望将诸如 HashMap 之类的东西存储到 Java 集合中。

我已经通过 Apache POI 实现了 Excel 读取 - 那部分工作得很好。现在我想知道如何将该数据存储到 HashMap 中。

我创建了 1 个具有 Excel 数据值的 POJO 类。

Class EmpXcel
private String emp_name;
private String emp_job;

// parameterised constructor

// getter-setter

现在,如果我创建此特定 POJO 类类型的 HashMap。

例如。 Map<String, EmpXcel> map = new HashMap<String, EmpXcel>();

这是我从 Excel 中读取数据的代码。

while(itr.hasNext()){
Row nextRow = itr.next();
// For each row, iterate through all the columns
Iterator<Cell> cellIterator = nextRow.cellIterator();

while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();

switch (cell.getCellType())
{
// if cell is numeric format
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue()+",");
break;

// if cell is string format
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + ",");
break;
}
}
System.out.println();
}

我不确定如何将此数据存储到 POJO 类类型的 HashMap 中(此处为 EmpXcel)。

编辑:Excel 表格:

Emp_Name |  Emp_Job

Travis | Technical Assistant

John | Professor

我还想让它更通用——想为不同的 Excel 文件创建单个 Java 类(不管行数/列数)

请与我分享您的一些见解,以便我遵循这种方式。

谢谢。

最佳答案

回答你最后的评论@inityk通过使用 getColumnIndex(),您可以访问所有单元格,然后可以验证其中存在的数据。

List<EmpXcel> empXcelList=new Arrayist<EmpXcel>();
while(itr.hasNext()){
Row nextRow = itr.next();
EmpXcel empXcelPOJO = new EmpXcel();
// For each row, iterate through all the columns
Iterator<Cell> cellIterator = nextRow.cellIterator();

while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();

if(cell.getColumnIndex()==0)
{
case Cell.CELL_TYPE_NUMERIC:
System.out.print("Name should not be numeric");
break;

// if cell is string format
case Cell.CELL_TYPE_STRING:
empXcelPOJO.setEmpName(cell.getStringCellValue())
break;
}elseif(cell.getColumnIndex()==1)
{
case Cell.CELL_TYPE_NUMERIC:
System.out.print("Name should not be numeric");
break;

// if cell is string format
case Cell.CELL_TYPE_STRING:
empXcelPOJO.setEmpJob(cell.getStringCellValue())
break;
}
}
empXcelList.add(empXcelPOJO);
}

关于java - 将数据从 Excel 文件存储到 Java Collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37053290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com