Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建Excel行的对象_Java_Excel_Spring Boot - Fatal编程技术网

Java 如何创建Excel行的对象

Java 如何创建Excel行的对象,java,excel,spring-boot,Java,Excel,Spring Boot,我想将excel工作表的每一行保存为“上载实体”。现在的问题是将正确的单元格排序到正确的属性 我已经用开关箱解决了这个问题 有没有其他更好的方法来创建对象 我的代码: UploadRow实体: @Entity @Table(name = "upload_row") public class UploadRow { private String firstName; private String lastName; .... //setter and getter ....

我想将excel工作表的每一行保存为“上载实体”。现在的问题是将正确的单元格排序到正确的属性

我已经用开关箱解决了这个问题

有没有其他更好的方法来创建对象

我的代码: UploadRow实体:

@Entity
@Table(name = "upload_row")
public class UploadRow {

  private String firstName;
  private String lastName;
  ....
  //setter and getter
  ....
 }
RowUti.java:

public void readRows(){
    ...
    Cell headerCell;

    for (int i = 1; i <= sheet.getLastRowNum(); i++) {
        Row row = sheet.getRow(i);
        UploadRow uploadRow = new UploadRow();
        if (row != null) { 

            for (int j = 0; j < row.getLastCellNum(); j++) {
                headerCell = sheet.getRow(0).getCell(j, Row.RETURN_BLANK_AS_NULL);

                setFields(uploadRow, row.getCell(j).getStringCellValue(), headerCell.getStringCellValue());
            }   
        }
    }
    ...
}


public void setFields(UploadRow uploadRow, String value, String header,){
    switch (header) {
        case "FirstName":
            uploadRow.setFirstName(value);
            break;
        case "LastName":
            uploadRow.setLastName(value);
            break;
        ...
        default:
                throw new IllegalArgumentException("Invalid cell value " + value);
    }
}
public void readRows(){
...
细胞头细胞;

对于(int i=1;i)错误是什么?您所说的“不引用同一对象”是什么意思?您是否在将其保存到数据库之前覆盖了
uploadRow
?我解决了这个问题:uploadRow=setFields(…),所以您可能将
public void setFields(…
更改为
public uploadRow setFields(…)(..
并添加一个
return
语句?是的,现在我返回UploadRow