gpt4 book ai didi

java - 如何确定某行合并单元格

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:09 26 4
gpt4 key购买 nike

这是我目前所知道的:

  1. 您使用方法 sheet.getNumMergedRegions() 获取特定工作表中合并区域的数量
  2. 循环遍历每个计数并使用方法 sheet.getMergedRegion(i) 并分配给 CellRangeAddress 变量
  3. 然后使用 isInRange(rowIndex, colIndex) 函数查看特定单元格是否是合并区域的一部分。

但我想要完成的是:我想看看是否可以确定仅给定特定行的合并单元格。就像我有特定行一样, 我只想知道在该行下找到的所有合并区域的数量。

如果有人能就此事分享他们的想法或建议,我将永远感激不已。

最佳答案

这是一个代码示例,我相信它可以满足您的要求。getNbOfMergedRegions 返回特定行中合并区域的数量。请记住,在 POI 中,行号从零开始!

package test;

import java.io.File;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.util.CellRangeAddress;

public class Main {

public static int getNbOfMergedRegions(Sheet sheet, int row)
{
int count = 0;
for(int i = 0; i < sheet.getNumMergedRegions(); ++i)
{
CellRangeAddress range = sheet.getMergedRegion(i);
if (range.getFirstRow() <= row && range.getLastRow() >= row)
++count;
}
return count;
}

public static void main(String[] args) {
File file = new File("/Users/enicolas/Downloads/test.xls");
try
{
Workbook wb = WorkbookFactory.create(file); // Line 409 for ref to the exception stack trace
Sheet sheet = wb.getSheetAt(0);
for(int row = 0; row < 20; ++row)
{
int n = getNbOfMergedRegions(sheet, row);
System.out.println("row [" + row + "] -> " + n + " merged regions");
}
System.out.println(wb);
}
catch (Throwable e)
{
e.printStackTrace();
}
}
}

关于java - 如何确定某行合并单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com