我试图通过Cell引用从行中获取Cell,我遇到了问题。例如,我有:
row.getCell(CellReference.convertColStringToIndex("B"));
如果列索引为1
,则可以正常工作,但如果删除了列,那么B
列索引变为2
,方法:CellReference.convertColStringToIndex("B")
仍在转换它到1
,在这种情况下,我无法获取我的专栏,我得到了null
。
所以问题是如何根据Cell标识符获取行中的列?
答案 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)