C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75620] 엑셀자료를 stringgrid로 업로드시 문의
[] 2402 읽음    2019-09-28 20:33
안녕하세요?
엑셀자료를 불러와서 스트링그리드에 뿌려주려는데요,
엑셀에서 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;

+ -

관련 글 리스트
75620 엑셀자료를 stringgrid로 업로드시 문의 2402 2019/09/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.