엑셀의 양식이 그림 처럼 생겼습니다. 헤더가 2줄인경우에 어떻게하면 row 의 첫번째 값이 {Data1,Data2,Data3,Data4} 을 출력 할 수 있습니까? for each Row 의 “속성” 에서 addHeader 를 체크 해제 하여도 row 의 첫번째 값은 {colum1,colum2,colum3,colum4} 로 나옵니다
row(3).item(0).tostring
row(3).item(1).tostring
row(3).item(2).tostring
row(3).item(3).tostring
Read Range의 범위 체크를 해보셨나요?
범위는 “” 처리 했습니다.
i want
row(0) = {Data1,Data2,Data3,Data4}
그럼 첫줄부터 읽게 되므로 A1:D1이 헤더가 되고 첫 데이터가 colum1~이 될수밖에 없죠
본문같은 양식은 범위를 잡아 주셔야해요 A2:D3 혹은 추가 데이터를 감안해서 밑으로 더 길게 잡으시거나
범위를 안 잡아준 이유가 데이터가 몇 건 이 들어올지 몰라서 범위를 안 잡았습니다. 범위를 안 잡아도 방법은 있겠지만 헤더가 2줄일 경우는 어떻게 처리하시는지 노하우 있으신가 해서 질문 드렸습니다.
봇 입장에서 헤더가 2개라는 인식이 없기 때문에 정 범위를 지정하지 않은 채로 하고 싶으시면 첫줄을 지워야겠죠.
For each row 작업 전에 remove data row로 첫줄을 삭제해주시는게 나아보입니다.
그런 방법도 있겠군요 답변 감사합니다.
Skip Method를 사용해 보세요.
읽어온 DataTable이 dt 라면 아래와 같이 하면 첫번째열을 제외한 값을 리턴해 줍니다.
dt.AsEnumerable.Skip(1).CopyToDataTable
참고로 마지막을 제외하려면 SkipLast를 사용합니다.
아래 링크를 참고하세요.
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.