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
[44635] Re:정말간단할것일수 있는데..execl 문의좀..
슬  [mydog21] 1196 읽음    2006-04-26 10:18
꼭 ADO를 써야하는 상황이 아니라면..
ExcelApplication Component를 추천합니다.

ExcelApplication 을 사용하실때에는

ExcelWorkbook 과 ExcelSheet 도 같이 사용하셔야 원하는 파일, 원하는 시트를 컨트롤 할수 있습니다.

저도 요 몇일간 엑셀을 파고 있는데요. 도움이 될까 하네요...
우선 제가 말씀드린 저 3개의 Excel 컴포넌트를  생성하시구요

ExcelApp->Connect();
ExcelApp->set_Visible(0,false);
ExcelApp->set_DisplayAlerts(TDefLCID(), false);
// Excel 프로세서를 실행 합니다. 아래 두 줄은 실행할때의 옵션입니다.

ExcelWb->ConnectTo( ExcelApp->Workbooks->Open( FileName.operator wchar_t *(),
        TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(),
        TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(),
        TNoParam(), TNoParam(), 0));
// 다른분들은 그냥 Open에 FileName.operator wchar_t *()만 파라미터로 넣으시던데.. 저는 안되더군요
// 그래서 저렇게 TNoParam()으로 채웠습니다...
// FileName은 TVariant 형식으로 선언했습니다.
ExcelWs->ConnectTo(ExcelWb->Worksheets->get_Item((TVariant)1));
// 원하는 시트를 선택합니다. 순서대로죠..


TVariant Data; // 데이터를 받아올 변수 입니다...
Data=ExcelWs->Cells->get_Item((TVariant)1,(TVariant) "A");
// Data=ExcelWs->Cells->get_Item((TVariant)1,(TVariant)1); 컬럼을 숫자로 사용할수도 있습니다...어떤경우에는요...

이정도면 대략 간단하게 원하는 셀의 값을 읽어올수 있습니다.

위의 소스는 직접 제가 해본것이구요..

이곳 C빌더 포럼에서 검색하다가 못찾은건 구굴링으로 찾았습니다.

그럼 수고 하세구요 즐프하세요//




ball... 님이 쓰신 글 :
: 이것에서 이틀간 거의 엑셀에 관한건 다 뒤져봤습니다...
:
: 그런데 제가 원한 답은 없어서... 다른게 아니라 정말 간단한것일 수 있거든여...
:
: 그런데 다들 오픈과 원하는 시트에서 값을 구하는걸 소스로만 풀어 놓으니 초보인
:
: 저는 더 헷갈리더라구여..
:
: 제가 원한 답은 새폼에 ADOConnection1 ADOQuery1
: DataSource1  DBGrid1를 올려놓왔습니다 단순 엑셀을 일단 그리드에
:
: 뿌리고 나서 쿼리문으로 컨트롤 하기위해 그런데 ConnectionString를 열결하구 Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties="DSN=Excel Files;DBQ=C:\Program Files\Borland\CBuilder5\Projects\datatest\1440.xls;DefaultDir=C:\Program Files\Borland\CBuilder5\Projects\datatest;DriverId=790;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=C:\Program Files\Borland\CBuilder5\Projects\datatest\1440 줄줄줄이지만 1440 엑셀화일을 연걸한것뿐입니다  연결테스트도 성공하구염
:
: 그리고  DBGrid1->DataSource1-> ADOQuery1->ADOConnection1연결도 다된상퇴고 ADOConnection1활성화도 true로 되었습니다
: 그런데 ADOQuery1 Active가 활성화가 안되여 자꾸 데이터베이스 엔진에서 1440 개체를 찾을수 없습니다로 나옵니다..
: sql문은 select * from 1440
: 했구여 그렇게 한이유는 엑셀파일에 시트는 한개만 넣어뒀습니다 1440으로 이름바꾸워서... sql문이 잘못된거 같은데 빌더에서 빌터 컴포넌트 사용법에서 이렇게 바꾸라는 건 없구 맨 소스같아 붙어쓰는 식에
: 답글만 올라와서 .... 누가 답변좀 부탁드립니다 ...

+ -

관련 글 리스트
44631 정말간단할것일수 있는데..execl 문의좀.. ball... 1170 2006/04/26
44635     Re:정말간단할것일수 있는데..execl 문의좀.. 슬  1196 2006/04/26
44642         Re:Re:정말간단할것일수 있는데..execl 문의좀.. ball... 1199 2006/04/26
44634     Re:정말간단할것일수 있는데..execl 문의좀.. 둘리 1011 2006/04/26
44641         Re:Re:정말간단할것일수 있는데..execl 문의좀.. ball... 1039 2006/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.