엑셀 Data Table 중 특정 컬럼 값이 0이 아닌 데이터 추출

엑셀 Data Table 중 특정 컬럼 값이 0이 아닌 데이터 추출 방법을 알고 싶습니다.

Excel Application Scope로 엑셀 파일을 열고, Read Range를 통해 전체 데이터를 데이터테이블로 뽑았습니다.

마지막으로 해당 데이터 테이블의 내용 중 필요한 행들만 뽑아 다른 시트 Write Range하려고 합니다.

뽑아낸 데이터 테이블 내 특정 컬럼의 값 중에서 0이 아닌 데이터들만 뽑을 수 있는 방법이 있을까요?

찾아보니 DataTable.Select()를 이용해서 하는 법도 있는것같은데… 답좀 부탁드립니다ㅠㅠ

한 행씩 작업하려면 For Each Row를 활용해서 다른 반복작업이 있을 경우에 같이 작업할 수 있습니다.

Datatable.Select(Expression) 은 Expression의 조건에 맞는 Datarow의 배열을 반환합니다.
Expression에는 조건을 그대로 String형태로 넣어주면 됩니다. 필요한 문법은 다음 사이트에 자세히 설명되어있으니 참조하시면 됩니다.
https://www.csharp-examples.net/dataview-rowfilter/
마지막에 CopyToDataTable을 통해 다시 Datatable로 변환하여 Write Range하시면 될 것 같습니다.

DT2 = DT1.Select(“ColName <> 0”).CopyToDataTable

Datatable expression은 MS 문서를 참고하세요
expression을 이용하면 Datatable의 Select 메소드 이외에도 column 추가시 다양하게 활용할 수 있습니다

특정 열의 값들 중 0 이 아닌것만 뽑아내는 방법으로는 액티비티 중에 Filter DataTable이 있습니다.

해당 액티비티를 사용하여 조건을 걸어주면 그에 맞는 행들만 남게 됩니다. 해당 기능은 특정 열만 뽑아내는 기능도 지원하고 있습니다.

1 Like