POI导入excel时Method failed for object异常怎么办?

图片说明
// 导入excel文件
public void importExcel(File userExcel, String userExcelFileName) {
try {
FileInputStream fileInputStream = new FileInputStream(userExcel);
boolean is03Excel = userExcelFileName.matches("^.+\.(?i)(xls)$");
//1、读取工作簿
Workbook workbook = is03Excel ? new HSSFWorkbook(fileInputStream):new XSSFWorkbook(fileInputStream);
//2、读取工作表
Sheet sheet = workbook.getSheetAt(0);
//3、读取行
if(sheet.getPhysicalNumberOfRows() > 2){
User user = null;
for(int k = 2; k < sheet.getPhysicalNumberOfRows(); k++){
//4、读取单元格
Row row = sheet.getRow(k);
user = new User();
//用户名
Cell cell0 = row.getCell(0);
user.setUserName(cell0.getStringCellValue());
//帐号
Cell cell1 = row.getCell(1);
user.setAccount(cell1.getStringCellValue());
//所属部门
Cell cell2 = row.getCell(2);
user.setDeptName(cell2.getStringCellValue());
//性别
Cell cell3 = row.getCell(3);
user.setGender(cell3.getStringCellValue().equals("男"));
//手机号
String mobile = "";
Cell cell4 = row.getCell(4);
try {
mobile = cell4.getStringCellValue();
} catch (Exception e) {
double dMobile = cell4.getNumericCellValue();
mobile = BigDecimal.valueOf(dMobile).toString();
}
user.setPhone(mobile);

                //电子邮箱
                Cell cell5 = row.getCell(5);
                user.setEmail(cell5.getStringCellValue());
                //生日
                Cell cell6 = row.getCell(6);
                if(cell6.getDateCellValue() != null){
                    user.setBirth(cell6.getDateCellValue());
                }
                //默认用户密码为 123456
                user.setPassWord("123456");
                //默认用户状态为 有效
                user.setState(User.USER_STATE_VALID);

                //5、保存用户
                save(user);
            }
        }
        workbook.close();
        fileInputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

3个回答

其实是环境的问题,有些网友说是数据类型的转换错误导致的方法操作失败,也有可能。我用的是POI3.11,支持的JDK版本在1.6及其以后,myeclipse10内置的是jdk不建议使用,tomcat6也不建议,我换成环境jdk1.6.45,tomcat7.0就okle .

Ash_Shang
心有余而发不足 数据类型匹配转换应该在程序设计时就应该考虑的。我程序的错误主要还是环境的问题。
3 年多之前 回复

我遇到过这样的问题,是数据类型的问题,execl对应的设置类型

Ash_Shang
心有余而发不足 数据类型我都考虑到了,还是导入不进,我更换了一下环境就好了。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问