使用jxl把Excel的数据导入到数据库中的问题

如果有Excel中值为空的话,导入到数据库中报错。怎么改?

数据库中的该列是允许为空的。

JXL导入EXCEL文件到数据库

1.导入到数据库中

第一步:把文件上传到服务器。private File upload;

第二步:解析文件。(只支持EXCEL2003文件)

第三部:保存到数据库中

[java] view plaincopy
// 开始解析

List importUserList = new ArrayList();

try {

WorkbookSettings setting = new WorkbookSettings();

java.util.Locale locale = new java.util.Locale("zh ", "CN ");

setting.setLocale(locale);

Workbook book = Workbook.getWorkbook(this.upload);

// 获得第一个工作表对象  
Sheet sheet = book.getSheet(0);  
// 得到第一列第一行的单元格  
int rowNum = sheet.getRows();  

log.info("SHEET的ROWS LENGTH---" + rowNum);  
// 循环读入每一行的每一列  
int rowStart = 2; // 定义开始的一行 一般是从第二行开始的!  

for (int i = rowStart; i < rowNum; i++) {  
    User importUser = new User();  
    importUser.setMeetingMember(new MeetingMember());  
    // 一行记录 计入到userImport  
    Cell[] cells = sheet.getRow(i);  
    int cellsLength = cells.length;  

    importUser.setName(StringUtil.replaceBlank(cells[0]  
                                                    .getContents()));// 姓名  
    importUser.setMobile(StringUtil.replaceBlank(cells[1]  
            .getContents()));// 用户手机号  

    // 职位(通讯录)2  
    if (cellsLength > 2 && cells[2] != null  
            && !"".equals(cells[2].getContents())) {  
        importUser.getMeetingMember().setBookJob(  
                StringUtil.replaceBlank(cells[2].getContents()));  
    }  

    //3  
    // 单位  
    if (cellsLength > 3) {  
        importUser.getMeetingMember().setDepartment(  
                cells[3].getContents());  
    }  



    importUserList.add(importUser);  
}  

book.close();