안녕하세요?
엑셀자료를 불러와서 스트링그리드에 뿌려주려는데요,
엑셀에서 10라인(줄)을 작성했다가
2라인만 남기고 8라인을 '삭제'한후 아래 코드로 불러오면
스트링그리드에 10라인의 데이타를 불러옵니다. 물론 3줄~10줄은 비어있고요.
그런데 엑셀에서 8라인을 '잘라내기' 해서 불러오면
스트링그리드에 2라인의 데이타만 정상적으로 불러옵니다.
엑셀의 '삭제'로 라인을 제거했을때는 셀에 빈문자열로 인식해
불러들이는 것 같은데요, 해결방법이 없을까요?
try
ExcelApp := CreateOLEObject('Excel.Application');
except
ShowMessage('Excel이 설치되어 있지 않습니다!!!');
Exit;
end;
//엑셀 통합문서 열기
if OpenDialog1.Execute then
begin
ExcelBook := ExcelApp.WorkBooks.Open(OpenDialog1.FileName);
ExcelBook := ExcelApp.WorkBooks.item[1]; //워크 쉬트 설정
ExcelSheet := ExcelBook.Worksheets.Item[1];
//스트링그리드에 타이틀 부여
For I:=1 to ExcelSheet.UsedRange.Columns.count do
StringGrid1.Cells[I,0]:=vartostr(ExcelSheet.Cells[1,I]);
//스트링그리드에 데이타 뿌려줌
For I := 2 to ExcelSheet.UsedRange.Rows.count do begin
For J := 1 to ExcelSheet.UsedRange.Columns.count do
StringGrid1.Cells[J,I-1] := vartostr(ExcelSheet.Cells[I,J]);
PbProce1.Position:=PbProce1.Position+1;
end;
end;
|