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
[66346] Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요..
박우성 [solgari] 1710 읽음    2012-02-21 10:32
StringGrid는 BeginUpdate/EndUpdate를 사용하는 방법외에는 더 이상 빠르게 갱신되지는 않으며,
처리속도가 느리고, 중간에 멈추는 현상은 엑셀파일을 OLE(COM)형태로 호출했기 때문에 그런 것입니다.

엑셀파일을 OLE형태로 호출하게 되면, 실제 엑셀 프로그램을 통해서 셀의 값들을 가져오기 때문에 셀 갯수가 많을 경우 당연히 속도 저하가 생길 수 밖에는 없습니다.

이런, 문제를 해결하기 위해서는 엑셀 파일을 직접(Direct) 읽을 수 있는 SDK를 사용해야 합니다. 물론 SDK 구매 비용이 발생 할 수 있습니다만, 엑셀이 설치되어 있지 않아도 엑셀 파일을 Reade/Write 할 수 있는 장점이 있습니다.

제가 찾아본 제품인데, 참고하시기 바랍니다.
http://www.libxl.com
( 가격이 $199정도 하네요)

혹시, 무료도 있을 수 있으므로 찾아보시기 바랍니다.


김태우 님이 쓰신 글 :
: for(int j = 1; j < row+1; j++)
:         {
:            
:             for(int i = 1; i < col+1; i++)
:             {
:
:                 StringGrid1->Cells[i][j] = XLSheet.OlePropertyGet("Cells", j , i).OlePropertyGet("Value");
:                 StringGrid1->Cells[0][j] = IntToStr(j);
:                 StringGrid1->Cells[i][0] = IntToStr(i);
:             }
:         }
:
: StringGrid1->Rows[0]->BeginUpdate();
: 이렇게 밖에 사용을 못하나요??
:
: 그러면 이렇게 엑셀에서 읽어온값을 그리드에 넣어줄때..
: 어떻게 사용해야되는건지...
: 초보입니다.. 부탁드리겠습니다.
: 검색을 해봐도.. 제가 적용하면 마찬가지로 프로그램이 용량이큰엑셀은 30초 정도는 멈춰 있네요..

+ -

관련 글 리스트
66341 StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 2075 2012/02/21
66348     Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 델파이수행중 1787 2012/02/21
66346     Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 박우성 1710 2012/02/21
66343     Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 이길남.HoPe 1435 2012/02/21
66344         Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 1504 2012/02/21
66349             Re:Re:Re: 님~ 테스트에 사용한 엑셀파일 올려보세여 인디 1389 2012/02/21
66347             Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 장성호 2655 2012/02/21
66353                 Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 1631 2012/02/21
66358                     Re:Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 장성호 1419 2012/02/21
66361                         Re:Re:Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 1556 2012/02/21
66345             Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 이길남.HoPe 1291 2012/02/21
66362                 Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 1250 2012/02/21
66363                     Re:Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 이길남.HoPe 1384 2012/02/22
66369                         Re:Re:Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 김태우 1200 2012/02/23
66372                             Re: 님~ 아직 파일 안올렸네여~ 인디 1218 2012/02/23
66378                                 Re:Re: 님~ 아직 파일 안올렸네여~ 김태우 1231 2012/02/23
66375                                 Re:Re: 님~ 아직 파일 안올렸네여~ 이길남.HoPe 1227 2012/02/23
66382                                     Re:Re:Re: 님~ 아직 파일 안올렸네여~ 김태우 1299 2012/02/23
66388                                         Re:Re:Re:Re: 님~ 아직 파일 안올렸네여~ 이길남.HoPe 1276 2012/02/24
66407                                             Re:Re:Re:Re:Re: 님~ 아직 파일 안올렸네여~ 김태우 1255 2012/02/25
66370                             Re:Re:Re:Re:Re:Re:Re:StringGrid 에서 BeginUpdate 를 사용어떻게 하나요.. 이길남.HoPe 1835 2012/02/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.