阅读xlsx文档时定义合并单元格(Apache POI)Kotlin

eyh26e7m  于 2023-08-06  发布在  Kotlin
关注(0)|答案(1)|浏览(110)

有一个文档,其中一些单元格与一组其他单元格组合在一起,如果它不是左上角的单元格(组合单元格组),则在阅读此单元格时,您可能会获得空值。如何确定这个单元格是空的,还是合并的?如果它是组合的(而不是左上角),我需要以某种方式获得这个值。
总的来说,有两个主要问题:
1.如何判断一个单元格是否被合并?
1.如果一个单元格被合并,如何得到一个值(而不是null)?
屏幕截图显示了我需要的单元格。但是,由于我的应用程序根据用户数据选择了一行和一列,因此它会尝试从单元格N11 enter image description here中获取数据

brccelvz

brccelvz1#

可以通过sheet对象中的mergedRegions方法获取合并区域
例如,我如何检查单元格的合并和空:

fun getValue(sheet: Sheet, cell: Cell?): String {
    if (cell == null) return ""
    for(region in sheet.mergedRegions){
        if(region.isInRange(cell)) {
            return sheet.getRow(region.firstRow).getCell(region.firstColumn).stringCellValue
        }
    }
    return cell.stringCellValue ?: ""
}

字符串

相关问题