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
[44616] Re:Re: 엑셀의 셀 값이 숫자인지 텍스트인지 체크..(질문추가)
슬  [mydog21] 4817 읽음    2006-04-25 10:06
엑셀 오토메이션에 대해서는 잘 모르지만...

제가 답변할수 있는게 몇가지 있어서 답변 드립니다...

우선 Row 컨트롤 하는 방법은..

ExcelWorkSheet->Rows 가 있습니다..(아마 이부분은 정확한 답변아 아닌듯 합니다;;;;;저도 잘 모르기에...)

하지만 김태진님이 원하시는 것처럼 특정한 Row에 있는 셀의 값을 가져오기는 힘들듯 하구요...
(저도 열심히 찾는 중입니다 ㅠ ㅠ;;;)

그리고 ExcelApplication이.. 그나마 엑셀 컨트롤에는 강한걸로 알고있습니다.

지원하는 함수나 메소드가 많아서겠죠... 속도도 OLE보다 빠르다는 친구넘 얘기 때문에 지금 골머리를 썩고있죠 ㅎ_ㅎ;
(차라리 답변을 드리지 말걸 그랬습니다 ㅡㅡ;; 제대로 아는게 하나도 없으니;;;)

특정한 셀에 있는 값이 숫자인지 문자인지 판별할때

ExcelApplication 컴포넌트에서 직접 판별해주는게 있는지는 잘 모르겠습니다.

그래서 저는 약간 노가다성(?) 으로 해결을...

TVariant Data; // Cell 의 데이터를 받아오기위한 변수입니다.

ExcelWs->ConnectTo(ExcelWb->Worksheets->get_Item((TVariant)1));
//첫번째 워크시트를 선택하고

Data=ExcelWs->Cells->get_Item((TVariant)1,(TVariant)1);

// 1,1에 있는 Cell에서 값을 받아옵니다.
//Data=ExcelWs->Cells->get_Item((TVariant)1,(TVariant)"A");
// 이렇게 사용해도 무관'ㅁ'; 하지만 "A"를 가지고 for 루프를 돌리기란; 쉽지 않으니;;

AnsiString strData;// 데이터를 판별할 임시 변수 입니다.

strData=Data;// TVariant의 장점중에 하나죠... 기냥 들어갑니다

if(strData.ToIntDef(-1) == -1){// 숫자 판별에 ToIntDef를 사용합니다. 숫자가 아니라면 파라미터로 삽입한 숫자가 반환됩니다.
    ShowMessage("1,1 에 있는 Cell의 값은 숫자가 아닙니다.");
//그럴땐 요로코롬.... "넌 숫자가 안약~!!"
}
else{
    ShowMessage("1,1 에 있는 Cell의 값은 숫자입니다.");
}



요즘 엑셀을 사용하는것때문에 굉장히 골머리를 썩고 있네요 ㅎ_ㅎ;;

이곳저곳 뒤져가며 구굴링해가며 해외포럼 뒤져가며 공부하고 있습니다 ㅎ_ㅎ;;

김태진님도 열심히 노력하셔서 즐거운 플밍 하셨으면 하네요// 숙오




김태진 님이 쓰신 글 :
: 엑셀 파일의 내용을 읽어오기에 대해서 검색하는 중에..
: 또 궁금해서요..;;
:
: 엑셀의 셀 안에 있는 값이 정수인지 스트링인지를 체크할수가 있을까요?
:
: 예를 들어서 모든 셀을 읽어 와서..(아직 못찾았지만..;)
: 숫자 값이면 메모창에 출력
: 빈값이나 텍스트값이면 버림
: 으로 처리하고 싶습니다.
:
: 방법 좀 알려주시기 바랍니다..ㅠ_ㅠ
:
:
: 김태진 님이 쓰신 글 :
: : 안녕하세요..
: : 엑셀 파일을 읽어서
: : 약간의 수정을 가한 후 텍스트 파일로 만들려고 합니다.
: :
: : 우선 엑셀 파일을 셀 단위가 아닌 줄 단위로 읽어 올수 있는지 알고 싶습니다.
: : 줄 단위면.. 레코드..인가요?
: :
: : 그리고 데이터가 무지 큰 경우 ExcelApplication을 사용하면 무지 느리다고 하는데..
: :
: : 그냥 텍스트 형식으로 열수 있는지도 알고 싶습니다.
: :
: : 그리고 데이터가 1000줄 정도면..
: : 그냥 for 돌려서 cell을 읽어 들여서 처리할수 있는지..도
: : 알고 싶습니다..
: :
: : 엑셀 오토메이션에 대해 잘 아시는분 있으시면
: : 답변 좀 부탁드립니다!

+ -

관련 글 리스트
44574 엑셀 파일을 --> 텍스트 파일로.. 김태진 1405 2006/04/20
44576     Re: 엑셀의 셀 값이 숫자인지 텍스트인지 체크..(질문추가) 김태진 2184 2006/04/20
44628         Re:Re: 엑셀의 셀 값이 숫자인지 텍스트인지 체크..(질문추가) 0 2927 2006/04/25
44616         Re:Re: 엑셀의 셀 값이 숫자인지 텍스트인지 체크..(질문추가) 슬  4817 2006/04/25
44742             Re:Re:Re: 두 분 답변 감사합니다..^^ 김태진 1020 2006/05/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.