Java 合并相邻的二维点/范围
我正在使用 我在操作Excel电子表格。我希望迭代每个单元格,如果两个单元格相互接触并共享相同的样式ID,则将它们合并到单独的单个区域中,以便稍后处理。随着更多单元格的迭代,现有范围可能会增加 范围包括Java 合并相邻的二维点/范围,java,algorithm,aspose,Java,Algorithm,Aspose,我正在使用 我在操作Excel电子表格。我希望迭代每个单元格,如果两个单元格相互接触并共享相同的样式ID,则将它们合并到单独的单个区域中,以便稍后处理。随着更多单元格的迭代,现有范围可能会增加 范围包括startRow、endRow、startCol和endCol属性。如果四个属性都相等,则表示单个单元格 例如,我希望{(1,1)、(1,1)}和{(2,2)、(1,1)}组合成{(1,2)、(1,1)}。同时,{(1,1)、(1,1)}和{(2,2)、(2,2)}不会合并,因为它们是对角的,而不
startRow
、endRow
、startCol
和endCol
属性。如果四个属性都相等,则表示单个单元格
例如,我希望{(1,1)、(1,1)}
和{(2,2)、(1,1)}
组合成{(1,2)、(1,1)}
。同时,{(1,1)、(1,1)}
和{(2,2)、(2,2)}
不会合并,因为它们是对角的,而不是相邻的
我想我可以使用an的一个变体来实现这一点,但我必须将其调整为2D间隔。然而,在这种情况下,我不在乎两个范围是否重叠;如果两个范围重叠,则它们是重叠的矩形,在这种情况下,组合它们对最小化总范围的数量没有任何作用
我最好的猜测是,我必须从每个单元格向外迭代并比较样式ID。当我在当前单元格上下移动时,检查该区域中的其他单元格是否具有相同的ID,并基于该ID创建新的区域
想法?检查此问题:。您的问题是关于算法,而不是关于Aspose.Cells功能。我们担心,您将不得不编写自己的算法或从internet进行搜索。---注:我在Aspose担任开发人员宣传员