使用 Apache POI 通过单元格引用字母标识符获取单元格

2022-09-03 04:59:14

我正在尝试通过单元格引用从行中获取单元格,但我遇到了问题。例如,我有:

row.getCell(CellReference.convertColStringToIndex("B"));

如果列索引是 ,则工作正常,但是如果列被删除,则列索引成为和方法:仍在将其转换为在这种情况下,我无法获取我的列,我得到.1B2CellReference.convertColStringToIndex("B")1null

所以问题是我如何根据单元格标识符(即字母)从行中获取列?


答案 1

看看我对上一个问题的回答

您可能希望使用 CellReference 实用程序类来帮助您。它提供 Excel 样式字母+ 数字引用和 POI 样式 0 行 + 列之间的转换。使用它时,您可以执行如下操作:

 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 样式引用处找到单元格(如果已定义,则为 null)


答案 2

推荐