baidu_15238971
2015-04-21 11:30
采纳率: 50%
浏览 1.7k
已采纳

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

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

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • WorldMobile 2015-04-22 04:25
    最佳回答

    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();  
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题