INTEROP를 사용하여 Excel에 연결할 때 C#을 사용하고 있습니다.열을 반복하고 소속되지 않은 행을 삭제합니다.
INTEROP을 모른다면이 질문에 답할 수 없습니다. 나는 다음에 대한 알고리즘을 알아 내려고 내 뇌를 고문하고 있습니다 :
가정하자 내가 가진 문자열 내가 목록을 가지고 string1="ALEX"
:
AAAA
ALEX
ALEX
LIZA
LIZA
또는 목록은 다음과 같습니다
ALEX
ALEX
ALEX
LIZA
NANCY
모든 문자열을 삭제해야합니다. NOT== ALEX
너무 오래 걸리므로 하나씩 처리하고 싶지 않습니다.
목록은 항상 정렬되어 있으며 필요한 문자열 목록에서 시작 위치와 끝 위치를 가져오고 싶습니다. 이 전혀 작동하지 않는
if (cell.Value2.ToString()!= email && !foundStart) {
startpos = rCnt;
foundStart = true;
}
else if (cell.Value2.ToString() != email && foundStart) {
endPos = rCnt;
deleteRange = xlWorkSheet.get_Range("A" + startpos + ":" + "CO" + endPos, Type.Missing);
deleteRange = deleteRange.EntireRow;
deleteRange.Delete(Excel.XlDeleteShiftDirection.xlShiftUp);
foundStart = false;
}
:
제거 나는 모든 행을 통해 루프 내부에가는 루프를 가지고있다. 도와주세요! 귀하의 지침은 간단한 알고리즘 또는 사용할 수있는 특정 코드의 측면에서 될 수 있습니다
엘리먼트를 하나씩 삭제하는 대신 삭제하려면 RANGE를 지정해야합니다. –
목록이 AAAA, ALEX, ALEX, LIZA 인 경우 첫 번째를 삭제하면됩니다. 1 : 1의 범위이지만 AAA, AAA, ALEX라면 1 : 2를 삭제해야합니다. –
아마도 내가 잘못되었지만 그 범위는 나를 설득하지 않습니다. startPos 및 endPos는 행 번호가 맞지 않습니까? 그리고 이것은 예를 들어, get_Range ("A1 : CO3")? 유효 범위입니까? – Steve