Java 如何创建Excel行的对象
我想将excel工作表的每一行保存为“上载实体”。现在的问题是将正确的单元格排序到正确的属性 我已经用开关箱解决了这个问题 有没有其他更好的方法来创建对象 我的代码: UploadRow实体: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 ....
@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