POI はコードの空白行やその他の使用法を削除します (今後も更新されます)

目的

空行を削除するかどうかは、バックエンド値の有無で判断する必要があります。
以下のデータは加工済みであり、企業秘密は含まれません。
ここに画像の説明を挿入

配信方法は 3 つあり、バックエンドに値がある場合は表示され、値がない場合はドキュメントからこの行が削除されます。

コード

public class Utils {
    
    
    // 获取准确的文件行数
    public Sheet getAccuracyContextNum(Sheet sheet) {
    
    
        // 删除空行
        for (int i = 0; i <= sheet.getLastRowNum(); i++) {
    
    
            Row row = sheet.getRow(i);
            // 删除空行
            if (this.isRowEmpty(row)) {
    
    
                int lastRowNum = sheet.getLastRowNum();
                if (i >= 0 && i < lastRowNum) {
    
    
                    sheet.shiftRows(i + 1, lastRowNum, -1);// 将行号为i+1一直到行号为lastRowNum的单元格全部上移一行,以便删除i行
                }
                if (i == lastRowNum) {
    
    
                    if (row != null) {
    
    
                        sheet.removeRow(row);
                    }
                }
                i--;
            }
        }
        return sheet;
    }

    // 判断行是否为空
    public static boolean isRowEmpty(Row row) {
    
    
        for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) {
    
    
            Cell cell = row.getCell(c);
            if (cell != null && cell.getCellType() != CellType.BLANK) {
    
      //此处判断得根据poi版本来修改相应判断
                return false;
            }
        }
        return true;
    }

}

結果

ブログを書くためのコンピューターとコードを書くためのコンピューターは同じではないため、私は自分のコンピューターを使用して小さなデモを作成し、コンソール出力を返します。

コードの空白行を削除せずに

コード
コードなしで返す

さらに、空行コードケースを削除します

結果を返すコードを追加します

POI のその他の用途

行の高さを設定する

POIの行の高さの単位はExcelとは異なります
POI の行の高さの単位は twips で、
Excel の行の高さの単位は pt です。

1pt=20twip

Excelの行の高さを30にしたい場合、コードは次のように設定されます。

row.setHeight((short) 30*20 );

セルを結合します

//合并单元格
//四个参数分别是 起始行,结束行,起始列,结束列
//从第21行到21行,从第1列开始到4列合并 (即为图片效果)
CellRangeAddress cellRangeAddress = new CellRangeAddress(20,20,0,3);
sheetAt.addMergedRegion(cellRangeAddress);

行全体を削除する

sheet.removeRow(row);

注: このコードは、shiftRows と一緒に使用することはできません。リスト全体からその行が削除されるため、shiftRows を使用すると、そのような行はまったくなくなり、null ポインターが表示されます。

おすすめ

転載: blog.csdn.net/weixin_46573158/article/details/125970711