excl数据导入到数据库中  但是excl中存放的数据跟数据库中的数据不一样的 
这样的话要怎么解决这个问题啊?
具体点的方法 
谢谢了啊

解决方案 »

  1.   

    利用JXL或者POI将excel数据解析出来,然后按照你的数据映射办法处理数据,然后用JDBC将数据插入到数据库当中
      

  2.   

    一般excel导数据会先建一个临时表,先把excel的数据导入临时表!后面你就可以sql操作了
      

  3.   

    数据类型不一样,就在解析的时候转换,给你一点思路
    //解析CY02,CY08,CY09,CY11,CY13,CY16,CY17工作表
    private void resolveCyFirstSet(Sheet sheet,CySheets cySheet,Session session,int startColumn,int endColumn) throws Exception{
    for(int i=startColumn;i<=endColumn;i++){
    Cell[] cells = sheet.getRow(i);
    CyFirstSet set1 = new CyFirstSet();
    set1.setItem(cells[0].getContents().trim());
    set1.setRowNum(getRowNum(cells[1].getContents().trim()));
    set1.setThisMonth(cells[2].getContents().trim());
    set1.setSum(cells[3].getContents().trim());
    set1.setSheet(cySheet);
    session.save(set1);

    if(cells.length==8){
    CyFirstSet set2 = new CyFirstSet();
    set2.setItem(cells[4].getContents().trim());
    set2.setRowNum(getRowNum(cells[5].getContents().trim()));
    set2.setThisMonth(cells[6].getContents().trim());
    set2.setSum(cells[7].getContents().trim());
    set2.setSheet(cySheet);
    session.save(set2);
    }

    if(cells.length==12){
    CyFirstSet set3 = new CyFirstSet();
    set3.setItem(cells[8].getContents().trim());
    set3.setRowNum(getRowNum(cells[9].getContents().trim()));
    set3.setThisMonth(cells[10].getContents().trim());
    set3.setSum(cells[11].getContents().trim());
    set3.setSheet(cySheet);
    session.save(set3);
    }
    }
    }
      

  4.   

    我的思路是:  第一步:先解析你的excel文件也就是获取每个cell的内容
                  第二步:在保存到数据库中的时候获取excel中cell里面的内容。
                  
    难点:获取excel中的数据组装成自己想要的数据可能要花一点时间处理一下,因为可能要组装成List