本帖最后由 zhangzhis 于 2014-07-15 15:19:20 编辑

解决方案 »

  1.   

    读取excle 的数据循环写到 数据库中,
    还有其他方法吗。?
      

  2.   

    我 一般用workbook 解析 取值
      

  3.   

    用poi解析,然后一个cell一个cell存数据库,比如这个例子:
    public List<List<Object>> readExcel(int page,File fileName) throws FileNotFoundException, IOException{

    List<List<Object>> lists = new ArrayList<List<Object>>();
    HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(fileName));
    HSSFSheet sheet = hwb.getSheetAt(page);
    HSSFRow row = null;
    HSSFCell cell = null;
    Object value = null;
    for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
    row = sheet.getRow(i);
    if(row == null){
    continue;
    }
    List<Object> alist = new ArrayList<Object>();
    for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
    cell = row.getCell((short) j);
    if(cell == null){
    continue;
    }
    DecimalFormat df = new DecimalFormat("0");
    switch(cell.getCellType()){
    case HSSFCell.CELL_TYPE_STRING:
    value = cell.getStringCellValue();
    break;
    case HSSFCell.CELL_TYPE_NUMERIC:
    value = df.format(cell.getNumericCellValue());
    break;
    case HSSFCell.CELL_TYPE_BOOLEAN:
    value=cell.getBooleanCellValue();
    break;
    case HSSFCell.CELL_TYPE_BLANK:
    value = "";
    break;
    default:
    value = cell.toString();
    }
    if(value==null || "\n".equals(value)|| "".equals(value)){
    continue;
    }
    alist.add(value);
    }
    if(!alist.isEmpty())
     lists.add(alist);
    }
    return lists;

    }
    你可以直接解析,不存到list中,取出一个cell就判断存不存,我也正好在做excel解析的功能,就套用了这个例子。
      

  4.   

    利用POI读取excel批量插入数据库即可
      

  5.   

    jxl读取Excel,循环或批量插入数据库
      

  6.   

    页面文件按钮选择了Excel,上传到服务器里,然后,你可以通过Apache POI读取解析这个Excel文件(Excel文件内容格式符合你数据表的规范),详细你搜索一下Apache POI使用方法和文档,连接数据库添加到表里。
      

  7.   

    你这个只是针对2003版本的你应该考虑到2007版本的,上面一个小伙伴说workbook的这个是可以的。