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

时间:2015-12-16 07:13:32

标签: java excel apache-poi

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

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

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

2 个答案:

答案 0 :(得分:1)

您无法通过工作簿对象设置活动单元格。 可能的选择:

  • 如果您有单元格对象,则可以将其标记为有效:cell.setAsActiveCell();
  • 如果您使用XSSFSheet并希望设置多个小区选择:xssfSheet.setActiveCell(reference)(适用于xmlbeans 2.6.0,而非2.3.0

可以将参考设置为字符串:"A1:A2"或使用CellReference类:

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

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

您可以从单元格中获取索引:

cell.getColumnIndex()
cell.getRowIndex()

我不知道JBook.getDefinedName("some String")是什么,但如果它适用于命名范围,请检查POI用户指南:Named Ranges and Named Cells

答案 1 :(得分:0)

你有没有尝试过这种方式

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