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
[47968] Re:Re:Re:소리바람.OJ님 한가지만 더 여쭤볼께요... 엑셀시트의 RowCount, ColCount값은 어떻게..
슬.강슬기 [mydog21] 1648 읽음    2007-02-02 11:56
int nColumCount = ExcelWorksheet1->get_UsedRange(TDefLCID())->Columns->Count;
int nRowCount = ExcelWorksheet1->get_UsedRange(TDefLCID())->Rows->Count;

위와같이 get_UsedRange()->Rows->Count를 사용하시면
데이터가 존재하는 범위의 RowCount, ColCount를 알 수 있습니다.

아래와 같은 응용도 가능 합니다...

Excel_xp::ExcelRange * Range = ExcelWorksheet1->get_UsedRange(TDefLCID());

int nColCount = Range->Columns->Count;
int nRowCount = Range->Rows->Count;

위의 방식은 제가 주로 사용하는 Range를 활용한 예 입니다.
ExcelRange를 활용하면 시트내의 거의 모든 작업을 수행 할 수 있습니다.
속도도 더 빠르구요 :)

엑셀에 관한한은 빌더포럼에 많은 Q/A를 올려놓았었습니다.
검색해보시면 많은 자료가 있을듯....


프로세스가 종료되지 않는 문제는 저도 간간히 발생하는 문제라 골치가 아파왔었습니다.
실마리를 하나 발견해서 그부분을 파해치고 있고 있습니다.

사실 ExcelApplication->Disconnec(); 를 실행하여도 프로세스는 죽는데말이죠...

프로세스의 제어에 대한 부분은 ExcelApplication컴포넌트에서 관리 하고 있는데... 이부분을 좀 뒤져봐야 할것 같네요
언제 한번 기회가 되면 Excel에 대한 많은 기능들을 정리해야겠습니다...

그럼 즐프 하시길.


newhuni 님이 쓰신 글 :
: 아.. 그렇군요...
: 소리바람.OJ님 조언감사드립니다.
:
: 한가지만 더 여쭤볼께요...
: 엑셀에서 데이타를 읽어와 스트링 그리드에 넣을려고 하는데요...
: 해당 시트의 RowCount, ColCount값은 어떻게 알수 있나요??
:
: int a = ExcelWorksheet1->Rows->get_Count();
: int j = ExcelWorksheet1->Columns->get_Count();
: 으로 하면 전체 RowCount, ColCount값이 리턴됩니다..
:
: 전 데이타가 존재하는 영역내의 값만 있으면 되거든요...
:
: 이쪽관련해서 자료가 많지 않아.. 이것저것 해보고 있는데..
: 진전이 많진 않습니다...
:
:
: 소리바람.OJ 님이 쓰신 글 :
: : 작업관리자에서 보면 프로세스가 살아있지요?
: : 그런 현상은 Acrobat reader를 웹브라우져등에서 호출하고
: : 브라우져를 종료시켜도 남아있는 경우와 동일하다고 생각됩니다.
: : 저도 명확한 이유를 모르겠군요.
: :
: : newhuni님께서 만드신 프로그램에서만 일어나는 일이 아니므로
: : 그렇게 걱정하실 필요는 없을 듯 합니다.
: :
: : 제 생각엔,
: : COM/COM+등으로 호출된 것들의 종속적 관계에 의해서
: : 프로세스가 남게 된다고 봅니다.
: : 바로 죽인다면 문제 발생의 요소가 있다고 판단하서 ... 쿨럭.
: :
: : 이럴때는 'exel.exe'프로세스를 찾아서 직접 종료시키는 방법뿐인 듯 합니다.
: : 만약 엑셀로 작업하면서 만드신 프로그램을 사용하시면 같이 종료될 수 있다는 것도 염두에 두시기 바랍니다.
: :
: : 즐겁게 하루 마무리 하시기 바랍니다.
: :
: :
: : newhuni 님이 쓰신 글 :
: : : 안녕하세요.
: : : 엑셀 컴포넌트를 이용하여 데이타를 엑셀파일로 저장하고 있습니다.
: : : 데이타 저장은 잘 되는데... 저장 후 엑셀 프로세스가 죽지 않습니다.
: : : 엑셀은 아래와 같이 종료시킵니다.
: : :
: : : ExcelWorksheet1->Disconnect();
: : : ExcelWorkbook1->Disconnect();
: : : ExcelApplication1->Disconnect();
: : :
: : : 그리고
: : : ExcelApplication1->Quit();를 하여도 프로세스가 계속 남아있습니다.
: : :
: : : Q/A를 찾아보니 관련 질문이 올라와 있는데.. 명쾌한 답변은 없네요...
: : :
: : : 강제로 EXCEL.EXE 프로세스를 죽여야 하는지.
: : : 아니면 엑셀 컴포넌트에 기능이 있는데 제가 못 찾는건지... 궁금합니다.

+ -

관련 글 리스트
47958 엑셀관련 질문드립니다. newhuni 958 2007/02/01
47960     Re:엑셀관련 질문드립니다. 소리바람.OJ 1236 2007/02/01
47962         Re:Re:소리바람.OJ님 한가지만 더 여쭤볼께요... 엑셀시트의 RowCount, ColCount값은 어떻게.. newhuni 1262 2007/02/01
47968             Re:Re:Re:소리바람.OJ님 한가지만 더 여쭤볼께요... 엑셀시트의 RowCount, ColCount값은 어떻게.. 슬.강슬기 1648 2007/02/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.