在Apache POI中,sheet的`getMergedRegion`方法中的参数`index`是什么意思?

7
getMergedRegion 中,index 是什么意思?
Apache 的 HSSFSheet 文档 没有明确说明 index 参数的含义。
2个回答

3
从可在此处下载的免费源 http://poi.apache.org/download.html 开始,我们有...
/**
 * @return the merged region at the specified index
 */
public CellRangeAddress getMergedRegion(int index) {
    return _sheet.getMergedRegionAt(index);
}

当我们深入了解getMergedRegionAt时,我们发现

public CellRangeAddress getMergedRegionAt(int index) {
    //safety checks
    MergedCellsTable mrt = getMergedRecords();
    if (index >=  mrt.getNumberOfMergedRegions()) {
        return null;
    }
    return mrt.get(index);
}

在这里,我们可以看到有一个 MergedCellsTable,这表明每个工作表都具有维护工作表中合并单元格列表的数据结构。

通过审查代码,索引引用了特定的MergedRegion,其CellRangeAddress在具有许多区域的情况下是必需的。

您可以将其记录为文档错误或提交修复JavaDoc的补丁。


3
为了回答这个问题,首先让我们定义一下MergedRegionMergedRegion本质上是一组单元格,它们被分组在一起可以作为一个单元格来操作。这是通过使用CellAdress创建的,它可以跨越多行或多列。
一个HSSFSheet可以包含多个由getNumMergedRegions给出的MergedRegions
索引指的是HSSFSheet中的MergedRegion,在支持MergedCellsTableSheet对象中,它本质上是一个ArrayList

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接