1

EPPlus を使用して既存の Excel ファイルに行を挿入する方法がわかりません。私は InsertRow 関数を知っていますが、これは最後に行を挿入しません-SQLの挿入ステートメントと同様です。これが不可能な場合、Excel ファイルで最後に使用された行を見つける方法を教えてください。

4

2 に答える 2

3

次のコードを使用

worksheet.Dimension.End.Row

これにより、最後に使用された行情報が得られます。

于 2016-04-10T18:55:11.690 に答える
1

EPPlus を使用して、Excel ワークシートのテーブルの最後のセルを見つける方法を次に示します。

private ExcelRange GetLastContiguousCell(ExcelRange beginCell)
{
    var worksheet = beginCell.Worksheet;
    var beginCellAddress = new ExcelCellAddress(beginCell.Start.Row, beginCell.Start.Column);
    var lastCellAddress = worksheet.Dimension.End;
    var bottomCell = worksheet.Cells[beginCellAddress.Row, beginCellAddress.Column, lastCellAddress.Row, beginCellAddress.Column]
        .First(cell => cell.Offset(1, 0).Value == null);
    var rightCell = worksheet.Cells[beginCellAddress.Row, beginCellAddress.Column, beginCellAddress.Row, lastCellAddress.Column]
        .First(cell => cell.Offset(0, 1).Value == null);
    return worksheet.Cells[bottomCell.Start.Row, rightCell.Start.Column];
}

ただし、重要な点は、これは最初の行と最初の列にギャップがないことを前提としていることです。このメソッドは、最初の行が列見出し (null にできない) で、最初の列がプライマリId列 (これも null にできない) である場合に使用します。状況がこれと異なる場合は、方法を調整する必要がありますが、それでも役立つことを願っています.

編集

worksheet.Dimension.End他のすべてのコードなしで使用できる可能性があることに気づきました。このより複雑な方法を使用するのは、表以外の情報をワークシートに入れることがあり、それを計算に含めたくないからです。

于 2013-07-10T21:01:06.530 に答える