2010-12-09 2 views
0

이 코드는 지정한 범위의 모든 행을 가져와 셀 DATA가없는 행만 삭제합니다. 그것은 실제로 범위의 모든 행을 삭제하고 있습니다. 왜? 데이터가 존재하는 경우Excel 행 삭제 잘못된 행 삭제

Range range = _sheet.get_Range("A25:A542", Type.Missing); 
range = range.EntireRow; 
range.Delete(Type.Missing); 
+0

죄송 합니다만 귀하의 코드가 정상적으로 수행 된 것을 볼 수 있습니다. – Bolu

+0

삭제하려는 행의 셀을 지정하지 않았습니다. 당신은'range = range.EntireRow;와'range.Delete (Type.Missing);로 전체 행을 선택하고 있습니다. 전체 행을 삭제합니다. –

+1

아마도이 질문을 여기에서해야합니다 - http://stackoverflow.com/questions/4398770/how-to-clean-up-microsoft-office-interop-excel-workbook을 참조하십시오. –

답변

1

Type.Missing 당신이 그것을 의미한다고 생각 무엇을 의미하지 않는다 삭제합니다. Type.Missing은 COM 객체입니다. Excel 객체에 특정 매개 변수를 제공하지 않는다는 사실을 알려줍니다. 그것은 일반적으로 VB.NET 및 VBA에서 당신을 위해 돌보는 일종의 것입니다. C# 4.0은 선택적 매개 변수를 지원하므로 작업을 훨씬 쉽게 할 수 있습니다.

1

당신은 확인하지 않기 때문에이 프로그램은 라인 틸 라인 (25)의 모든 행을 542

+0

Type.Missing 체크가 get_Range에서 처리한다고 생각했습니다. 어떻게 또 할 수 있니? – slandau