使用Apache POI通过Cell引用字母标识获取Cell

时间:2013-01-04 10:33:12

标签: java excel apache-poi

我试图通过Cell引用从行中获取Cell,我遇到了问题。例如,我有:

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

如果列索引为1,则可以正常工作,但如果删除了列,那么B列索引变为2,方法:CellReference.convertColStringToIndex("B")仍在转换它到1,在这种情况下,我无法获取我的专栏,我得到了null

所以问题是如何根据Cell标识符获取行中的列?

1 个答案:

答案 0 :(得分:30)

看看my answer to a previous question

您可能希望使用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)