当前位置: 首页 > 知识库问答 >
问题:

添加边界到合并的单元格使用HSSF区域Util(Apache POI)

秦才良
2023-03-14

我正在使用ApachePOI,发现当我使用HSSFRegionUtil向合并的单元格添加边框时,只会显示一个单元格的边框。

下面是代码

    Region region = new Region((short)0,(short)0,(short)1,(short)0);
    sheet.addMergedRegion(region);
    HSSFRegionUtil.setBorderRight(HSSFCellStyle.BORDER_MEDIUM,region, sheet, workbook);

它只显示一个单元格的单元格边框,而不显示区域边框。感谢您的帮助。

共有1个答案

鄢晔
2023-03-14

就我个人而言,我不使用HSSFRegonUtil为合并区域添加边框。我的解决方案是:

假设合并第1行第1列到第5行第5列的区域

1)将ellStyle设置为单元格1,1

2) 编写一个将单元格样式复制到所有其他单元格的方法。

3) 合并区域

这里有一个例子:

    CellStyle style = defaultBorderStyle;
    Row tempRow = currentSheet.getRow(startRow);
    Cell cell = tempRow.getCell(startColumn);

    for (int i = startRow; i <= endRow; i++) {
        tempRow = currentSheet.getRow(i);

        for (int j = startColumn; j <= endColumn  ; j++) {
            tempRow.getCell(j).setCellStyle(style);
        }

    }
    sheet.addMergedRegion(new CellRangeAddress(startRow, endRow, startColumn, endColumn));
 类似资料:
  • 我使用的是Apache POI,我需要在一个单元格或合并区域的范围内放置边框。我正在合并三行五列的单元格。但我无法添加边界。那么我该怎么做呢?

  • 我使用的是ApachePOI3.7,我需要将边框放在一系列单元格或合并区域上。 当工作表和工作簿类型为XSSF时,如何将边框应用于合并区域。在HSSF类型中,我使用区域用户-/HSSF区域用户,但是如果在XSSF类型中使用第一个对象(区域用户),它就不起作用,并将黑色背景颜色添加到单元格范围。 Area onutil通常与CellRange地址一起工作,我找不到有关此问题的信息。我不知道CellR

  • 在旧版本中,您可以键入以下内容: 这会产生外部边框--即使是在合并的单元格周围,也会使用选定的颜色。不幸的是,在POI的新版本中,我似乎不能使用索引颜色,因为获得自定义RGB颜色索引的方法不起作用,并且被降级或标记为仅供测试。

  • mergeCells(string $scope, string $data [, resource $formatHandler]): self string $scope $excel->fileName("test.xlsx") ->mergeCells('A1:C1', 'Merge cells') ->output();

  • 谁能解释一下如何使用Apache POI为合并的单元格创建边框吗? 我使用的代码只影响一个单元格。

  • 我正在使用Apache poi-hssf将图片添加到单元格中。该图像是120x100,但无论我做什么,如何调整它的大小,Excel电子表格总是显示它跨越多行,并将其扭曲为比宽度大得多的高度。 我试过所有dx/dy坐标和col/row。位置无关紧要,它的问题是水平拉伸图像。