|
꼭 ADO를 써야하는건 아닌데 프로그램을 관둔지 3년이 넘어가면서... 다른쪽일하느라
엑셀파일로 자료가 나오는게 있는데 솔직히 쓰는데는 상관은없는데 제가 원하는 스타일로
딱딱 보기 편하게 안나오니깐... 간단하게 엑셀파일을 제가 원하는 자료들만 뽑아서 볼수 있게
만들어서 쓰려구 하는거라....
한번 만들어두면 두고두고 오히려 편할까봐서.... 예전 추억도 생각나고 만들어보고 싶은 강렬한 욕구때문에
그런데 잘안되니깐 더 오기가 생겨서 이것저것 해보는중...
님이 알려주신 방법으로 함 해봐야겠다는..
답변 감사드립니다.
슬 님이 쓰신 글 :
: 꼭 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문이 잘못된거 같은데 빌더에서 빌터 컴포넌트 사용법에서 이렇게 바꾸라는 건 없구 맨 소스같아 붙어쓰는 식에
: : 답글만 올라와서 .... 누가 답변좀 부탁드립니다 ...
|