1

私は Apache POI を使用していますが、 HSSFRegionUtil を使用してマージされたセルに境界線を追加すると、1 つのセルのみの境界線が表示されることがわかりました。

以下はコードです

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

領域の境界線ではなく、1 つのセルのセル境界線のみを表示します。どんな親切な助けも大歓迎です。

4

1 に答える 1

2

個人的には、マージされた領域に境界線を追加するために HSSFRegionUtil を使用しません。私の解決策は次のとおりです。

行1、列1から行5、列5までの領域をマージすると仮定します

1) cellStyle をセル 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));
于 2013-03-04T09:18:17.320 に答える