excel자료를 stringgrid에 뿌려주려고 합니다. stringgrid의 rowcount값으로 뿌리는 게 아니라..
excel자료의 필요한부분(stringgrid로 뿌려줄 부분 즉, 데이타부분)의 일정좌표점에서 자료의 끝(row)를 알아내야 하는데.. 이걸 어떻게 하면 가능할까요?
excel의 약식은 column부분은 고정되어있지만 row부분은 데이타가 1건이 될수도 있고 여러건이 될수도 있습니다. 데이타 이외부분에 기간과 설명등의 잡다한 것은 접어두고 필요한 데이타 부분만 받으려고 합니다.
저는 stringgrid와 excel을 ole automation을 이용해 구성하였습니다.
제 개발 환경은 win98se에 델파이6.0인데..
ole 연결하는 정보가 다 제각각이라 장님 코끼리 더듬든 어찌어찌 되었는데..
이 count알아내는 게 죽음이네요..
일단 xlsheet로 excel에 접근은 했는데.. 이다음에 어떻게 해야 하는지 난감합니다.
xlsheet.rowcount; <-요걸 했지만 ole에러만 나는군요.. 메소드가 없다고..
혹시 알고 계신분 알려주시면 감사하겠습니다.
소소>
uses
comobj,variants;
....
var
xl,xlbook,xlsheet : variant;
i : integer;
begin
xl := createoleobject('excel.application');
xlbook := xl.workbooks.open(opendialog1.filename);
xlsheet := xlbook.sheet['sheet'];
xl.visible := true;
i:=xlsheet.rowcout; <-요거 택도 없습니다..
그래서 이렇게 해봤습니다.
xlsheet.select;
i:=xlsheet.selection.rowcount; <- 요거도 안됩니다.
도움 부탁드립니다..
처음에 스트링그리드의 rowcount를 2로 주고(타이틀과 처음 데이타 넣는 행),
그다음부터 엑셀 데이타를 넣기전에
stringgrid.rowcount:=stringgrid.rowcount+1;
해주면, 자동적으로 증가될겁니다.
도움이 되셨으면 합니다.