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

Kar*_*k P 7 java apache excel apache-poi xlsm

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

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

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

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

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

Gag*_*arr 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());
 }
Run Code Online (Sandbox Code Playgroud)

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


小智 0

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

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