2013-07-10 5 views
1

EPPlus를 사용하여 기존 Excel 파일에 행을 삽입하는 방법이 표시되지 않습니다. InsertRow 함수를 알고 있지만 끝에 행을 삽입하지 않습니다 - sql의 insert 문과 비슷합니다. 이것이 가능하지 않으면 Excel 파일에서 마지막으로 사용한 행을 어떻게 찾을 수 있습니까?EPPlus를 사용하여 Excel에 행 삽입

답변

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을 사용할 수 있습니다 나에게 발생

편집. 워크 시트에 표 외에 다른 정보를 넣기 때문에이 복잡한 방법을 사용합니다. 계산에이 정보가 포함되기를 원하지 않습니다. 코드

worksheet.Dimension.End.Row 

다음

1

사용이 마지막으로 사용 된 행 정보를 제공해야합니다.

관련 문제