如何使用JAVA获取Excel工作表中指定位置的单元格值

时间:2012-12-27 10:22:33

标签: java apache excel apache-poi xlsm

如何使用java从.xlsm文件中获取特定单元格的值。 我想通过指定特定的行和列来获取单元格值,例如我需要第1行和第C1列或第5行和第C6列的单元格值...我通过指定行和列号来获取值,如下所示< / p>

XSSFRow row = sheet.getRow(4); // 4是行号

cell = row.getCell(4); // 4是列号

但这只有当工作表有从A,B,C,D开始的列时......这样......当我尝试使用相同的编码来获取另一张工作表但它不起作用时......这张表,列从C,D,E开始......等等

任何人都可以帮助我了解我可以使用什么来获得指定的结果吗?

2 个答案:

答案 0 :(得分:11)

您可能希望使用CellReference实用程序类来帮助您。

然后您可以执行以下操作:

 Sheet sheet = workbook.getSheet("MyInterestingSheet");

 CellReference ref = new CellReference("B12");
 Row r = sheet.getRow(ref.getRow());
 if (r != null) {
    Cell c = r.getCell(ref.getCol());
 }

这将允许您在给定的Excel样式引用中找到单元格

答案 1 :(得分:0)

如果该表有名称,您可以获取表名并使用迭代器。

  Iterator iterator = workSheet.rowIterator();
  while(iterator.next){
       Row row = (Row) iterator.next();
        //u can iterate and use row.getCell(i)
  }