Exel data 관련 질문 드립니다

레슨 8연습문제1 part A를 풀고 있는데요.
For each row
Assign inputsTable.Rows.IndexOf(row) +1 to rowIndex
Get row item , row , column index 0 → output variable : valueA
Get row item , row , column index 1 → output variable : valueB
Assign valueC to valueA + valueB
Write Cell sheet1 , “C” + rowIndex .ToString, value to valueC

이렇게 안내된대로 그대로 코드를 짰습니다. 하지만 결과를 실행해보면
%EC%A7%88%EB%AC%B84
첫번째 셀의 A+B 값은 실행되지 않고, 두번째 셀의 A+B부터 실행이 되고 그 위치도 한칸 위로 올라가있습니다ㅠㅠ
강의에 안내된 대로 똑같이 따라했는데, 왜 이런 결과가 나오는 건가요??
Assign inputsTable.Rows.IndexOf(row) +1 to rowIndex 를 +2로 바꿔봤을 때는 위치는 알맞게 나오지만, 첫번째 셀의 A+B는 실행이 되지 않고 칸이 비워져있더라고요.
어떻게 해야 첫번째 행부터 제대로 나오게 될까요 ??

엑셀을 read range 로 읽을 때, 오른쪽 창에서 옵션을 보시면, Addheaders 라는 항목이 있습니다.

데이터에 "헤더"가 있는지를 묻는 것인데, 일반적으로 엑셀 같은 형식의 표(데이터 테이블을 쓸 때) 맨 앞 행에는 그 데이터의 레이블(항목이름)을 쓰는 경우가 많잖아요?
그래서 Addheader에 체크를 하면, 1행은 데이터 테이블로 읽지 않습니다.

즉, Addheader에 체크가 되어 있을 경우, 데이터 값은 2열 부터 읽기 때문에,
Row 0에 Column 0이면, 위 캡쳐 그림에서, A2 값을 말하는 것이고,

Row 0, Column 0 + Row 0, Column 1을 구한 다음에, C1에다 넣으라고 되어 있기 때문에, C의 값들은 한칸씩 당겨진 것처럼 작성이 됩니다.

3 Likes

아 그부분을 생각 못했었네요…!! 감사합니다 !!