无法从字符串单元格获取数值



获取错误 java.lang.IllegalStateException: 无法从字符串单元格获取数值

员工类别:'

@Entity
@Table(name="Employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int Id;
@Column(name = "firstname")
private String FirstName;
@Column(name = "lastname")
private String LastName;
@Column(name = "email")
private String Email;
@Column(name = "mobile")
private long Mobile;
@Transient
private MultipartFile file;
getters and setters.....

服务等级:

Workbook book=null;
try {
book = new HSSFWorkbook(file.getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Sheet sheet=book.getSheetAt(0);
Iterator<Row> rows =    sheet.iterator();
while(rows.hasNext()) {
Row row = rows.next();
emp.setId(row.getCell(0).getNumericCellValue());
emp.setFirstName(row.getCell(1).getStringCellValue());
emp.setLastName(row.getCell(2).getStringCellValue());
emp.setEmail(row.getCell(3).getStringCellValue());
emp.setMobile(NumberToTextConverter.toText(row.getCell(4).getNumericCellValue()) );
}
}

在执行此操作时,它给出错误,例如:java.lang.IllegalStateException:无法从字符串单元格中获取数值

您可以简单地跳过第一行,如下所示:

Workbook book=null;
try {
book = new HSSFWorkbook(file.getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Sheet sheet=book.getSheetAt(0);
Iterator<Row> rows =    sheet.iterator();

// SKIP HEADER
if (rows.hasNext()) {
rows.next();
}
while(rows.hasNext()) {
Row row = rows.next();
emp.setId(row.getCell(0).getNumericCellValue());
emp.setFirstName(row.getCell(1).getStringCellValue());
emp.setLastName(row.getCell(2).getStringCellValue());
emp.setEmail(row.getCell(3).getStringCellValue());
emp.setMobile(NumberToTextConverter.toText(row.getCell(4).getNumericCellValue()) );
}
}

最新更新