如何将活动单元格移动到使用XSSFWorkbook的范围apache poi左上方的单元格?

我正在尝试从JBook迁移到Java的Excel代码到XSSFWorkbook。 没有获得在JBook中使用的确切方法。 他们之中有一些是:

JBook.setSelection(int row, int col, int row, int col); JBook.setSelection(JBook.getDefinedName("some String")); 

第一种方法解释了将活动单元格移动到范围中的左上单元格。
有没有办法从XSSFWorkbook对象获取rowindex和列索引?

你试过这种方式吗

  HSSFWorkbook book1 = new HSSFWorkbook(); HSSFSheet sheet = book1.getSheet("sheetName"); int rowIndex=sheet.getLastRowNum()+1;// int columnIndex = sheet.getRow(sheet.getLastRowNum()).getPhysicalNumberOfCells() 

您不能通过工作簿对象设置活动单元格。 可能的select:

  • 如果你有单元对象,你可以把它标记为active: cell.setAsActiveCell();
  • 如果你使用XSSFSheet并想设置多个单元格select: xssfSheet.setActiveCell(reference) (与xmlbeans 2.6.0 ,而不是2.3.0

引用可以设置为string: "A1:A2"或使用CellReference类:

 String reference = new CellReference(rowNum, colNum).formatAsString() 

有没有办法从XSSFWorkbook对象获取rowindex和列索引?

你可以从单元格获得索引:

 cell.getColumnIndex() cell.getRowIndex() 

我不知道什么是JBook.getDefinedName("some String")但如果它与命名范围一起工作,请检查POI用户指南: 命名范围和命名单元格 。