我是新手,希望大大能帮我一下,我想用java 根据excel行列查找一个值,比如有个excel的矩阵如下:A B C D E都是单元格。  A B C D E
A 1 2 4 1 6 
B 2 3 4 5 1
C 3 4 2 8 9
D 3 4 6 7 8
E 2 5 6 7 3
我想实现一个功能是比如根据第一行的D,然后第一列中的C就能确定8这个值的功能,我想问一下大大们怎么实现这个根据行列查找一个值的功能?有没有实例能给我参考一下, 谢谢大家了,在此感激不尽!!!!!!

解决方案 »

  1.   

    第一行的D然后确定C为8?
    如果你是单纯取值用POI得到excel的sheet后就可以指定读取某行某列的值。
      

  2.   

    你可以把Excel看成一个二维数组,根据行列索引就可以获取相应单元格的内容了,具体的方法jxl.jar中都实现了。核心代码是cell = sheet.getCell(4, 3);
    参考代码
    String filePath = "C:/test.xls";
    InputStream fs = null;
        Workbook workBook = null;
         
         try {
             // 加载excel文件
             fs = new FileInputStream(filePath);
             // 得到 workbook
                 workBook = Workbook.getWorkbook(fs);
            } catch (FileNotFoundException e) {
             e.printStackTrace();
            } catch (BiffException e) {
             e.printStackTrace();
            } catch (IOException e) {
             e.printStackTrace();
            }         // 取得sheet,如果你的workbook里有多个sheet 可以利用 wb.getSheets()方法来得到所有的。
            // getSheets() 方法返回 Sheet[] 数组 然后利用数组来操作。就是多次循环的事。
            Sheet sheet = workBook.getSheet(0);//这里只取得第一个sheet的值,默认从0开始
            Cell cell = null;//就是单个单元格
            //根据行列索引取得相应单元格的内容
             StringBuffer sb = new StringBuffer();
             cell = sheet.getCell(4, 3);
             sb.append(cell.getContents());
             workBook.close();//记得关闭
      

  3.   

    谢谢二楼啊,但是我用的是POI这个包,不知道实现的方法是不是相同
      

  4.   

    。      poi
      

  5.   

    jxl只是针对Excel,提供的方法较少但效率高
    poi对于Windows其他类型的文件也提供支持(包括office2003和2007),方法比较丰富但效率低
    你如果只进行简单的读取操作两者区别不大
    poi的用法参考
    http://www.cnblogs.com/xwdreamer/archive/2012/02/22/2363152.html