2017-03-13 5 views
0

이것은 어렵지는 않지만 지금까지 발견 한 모든 해결책이 작동하지 않습니다. 기본적으로 C# 콘솔 응용 프로그램을 사용하여 행 3부터 시작하는 Excel 시트를 채 웁니다. 코드와 기능 코드 무언가를 생성C# Excel InterOp : 행 2 아래의 모든 행 삭제

Excel.Range xlRange = xlWorkSheet.UsedRange;     
for (int j = 3; j <= xlRange.Rows.Count; j++) 
{ 
    /// xlRange.Rows[j].EntireRow.Delete(Excel.XlDeleteShiftDirection.xlShiftUp); 
     xlRange.Rows[j].Delete(Excel.XlDeleteShiftDirection.xlShiftUp); 
} 

참고, 모두 주석 : 인구 부분은 내 코드는 지금까지 여기에 작동하지만 내가 뭘해야 데이터가 3 행으로 시작하는 모든 행을 삭제하는 것입니다 그리고 Delete 기능에 접근 할 수 없습니다.

감사합니다.

업데이트 1 다음 Excel 파일의 루프에서 작동하는 것처럼 보입니다. 그래서 다른 Excel 파일에는 어떤 종류의 잠금 장치가 있습니다.

((Excel.Range)xlWorkSheet.Rows[j]).Delete(Excel.XlDeleteShiftDirection.xlShiftUp); 

업데이트 2

그래서, 그래, 이상하게 원래 XLS 파일은 암호로 보호하고 아직 비밀이 없습니다. 이 파일을 통해 새 값을 쓸 수 있으며 기존 값을 덮어 쓰면 행을 삭제할 수 없습니다!

답변

0

다음은 나에게 잘 작동하지만 질문에 대한 내 '업데이트'에 표시된대로 해당 파일의 비밀번호 보호 때문에 필요한 파일에는 적합하지 않습니다. 이 필요한 파일에 매크로가 그래서 나는 단순히 Google 문서 도구에 업로드 같은 작업 차선책을 사용할 수 없습니다 등

HTH

((Excel.Range)xlWorkSheet.Rows[j]).Delete(Excel.XlDeleteShiftDirection.xlShiftUp);