Q&A

  • excel 자료를 활용하고 싶습니다???
excel자료를 가지고 db처럼 쿼리문으로 자료를 추출하고 싶습니다.

자료들을 많이 찾아보았는데..

이해할 수 없어서 이렇게 질문을 올리게 되었습니다.

고수님들의 조언을 부탁드립니다.
3  COMMENTS
  • Profile
    김형수 2002.05.25 19:25

    저두 여기서 자료를 얻어서 연습하고 있는데요.
    도움이 됐으면 하네요.
    ..

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,comobj, StdCtrls, Buttons, Grids, DBGrids;
                           ******  => comobj 삽입하시구요.
    ..


    // 버튼 클릭시 스트링그리드에 엑셀 화일 불러오기 입니다.
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
       sString : string;
       MyXLApp : Variant ;
       i,j,l,m:integer;
    begin
    screen.Cursor:=crhourglass;
    MyXLApp:= CreateOleObject('Excel.application');
    MyXLapp.workbooks.open( 'c:test.xls');   // 엑셀화일위치를 설정
    MyXLapp.Sheets['sheet1'].Select ;


    //값받아올때는 아래처럼
    for i := 1 to 314 do begin// 엑셀의 행 갯수인데요. 갯수는 임의로 넣었습니다.
        for j:=1 to stgrid1.ColCount do begin
           stgrid1.Cells[j-1,i-1]:=myxlapp.cells[i,j];
        end;
    end;

    MyXLApp.quit ;//종료시키는 부분


    end;


    도움이 되길 바랍니다....
  • Profile
    김지엽 2002.05.25 19:18
    excel 자체를 SQL문으로 처리하는 것은 불가능하다고 생각됩니다.

    현재 SQL문이 지원되는 것은 자체 DB엔진을 소유하고 있는 RDBMS, ORDBMS들과, 쿼리에 필요한 드라이버를 제공하고 있는 ISAM 방식의 로컬DB들 뿐입니다. EXCEL은 그 어떤 것도 지원하지 않습니다. 자료 자체가 sequential access를 지원할 수 있도록 sorting 되지 않으니까요.

    하지만, EXCEL 자료를 가지고, 특정한 필요에 따라, '쿼리문으로 작업하듯' 작업할 수는 있겠지요?

    '자료를 추출하고 싶다'고 하셨는데, 갈 길은 그리 쉽지는 않고, 매우 다양한 경로를 갖고 있을 듯 합니다.

    1. EXCEL FILE은 특정한 포맷을 지닌 경우 ACCESS 파일로 변환 가능하다고 들었습니다. 이 방법을 이용할 수 도 있을 것 같구요.. (ACCESS 파일은 아시다시피 DB파일이고, 당연히 SQL이 지원됩니다)

    2. EXCEL은 XML로 변환 가능합니다.

    3.  위와 같은 변환 방식이 어렵다면, EXCEL 객체를 GRID 계통의 컴퍼넌트에 적재시킨 뒤, 그 컴퍼넌트를 갖구 작업할 수도 있을 거 같네요.
  • Profile
    정용광 2002.05.25 19:26

    감사합니다..
    우선 프로그램하는 이쪽의 환경으로 하는 것이 아니라..
    저희 프로그램을 사용하는 사용자환경을 생각해야 하므로..
    xml을 사용하는 방법이 가장 쉬운 방법으로 생각이 듭니다..
    우선 xml을 공부해야 겠습니다...

    자세한 답변에 다시 한번 감사드립니다.
    • 정범
    • 2002.05.25 21:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.05.26 01:16
      Table  콤퍼넌트 쪽에 option에 보시면 Insert, Edit 쪽에 False로 되어있는지 확인하시고... ...
    • 정범
      2002.05.26 18:09
      답변 감사 합니다 그런데 Table 이나 그리드 안씁니다 데이터 소스와 쿼리를 사용합니다 그리고 데...
    • 머슴
      2002.05.27 08:56
        쿼리 컴퍼넌트는 기본적으로 readonly입니다.   따라서 쿼리의 컴퍼넌트에 가...
    • 정범
      2002.05.28 06:57
      감사합니당.. 너무나........... 해결했어여 음... 무지 고생고생 찾다가 보니 update_Query 의 Pro...
    • 델파이탐크루즈
      2002.05.26 00:11
      Function FA_NMFTP(NMFTP :TNMFTP):boolean; begin   NMFTP.Host    := ;...
    • 윤도상
    • 2002.05.25 20:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김도형
      2002.05.25 21:07
      퍼온겁니다.. 예전의 질답 게시판에서염~~~ 함 해보세염~ 1. 메모 초기화   Memo1....
    • 조근영
    • 2002.05.25 20:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 21:24
      안녕하세요. 최용일입니다. Owner나 Tag속성을 이용하시면 될거같네요... A라는 폼을 동적으로 생성...
    • 조근영
      2002.05.27 19:18
      에겅.......  정말 고마워여........ 이젠 돌아갑니다요............ 며칠을 머리 벅벅 뜯...
    • 전원보
    • 2002.05.25 20:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김도형
      2002.05.25 21:10
      var   clbl : TComponent;   nI : integer; begin   For nI := 0 to 10...
    • 전원보
      2002.05.26 17:39
      .
    • 나그네
    • 2002.05.25 20:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 21:32
      안녕하세요. 최용일입니다. 1번, 2번은 폼대신에 TDataModule을 사용하시면 될거 같은데요... 보이지...
    • 김도형
    • 2002.05.25 19:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정용광
    • 2002.05.25 19:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김형수
      2002.05.25 19:25
      저두 여기서 자료를 얻어서 연습하고 있는데요. 도움이 됐으면 하네요. .. uses   Windo...
    • 김지엽
      2002.05.25 19:18
      excel 자체를 SQL문으로 처리하는 것은 불가능하다고 생각됩니다. 현재 SQL문이 지원되는 것은 자체 DB...
    • 정용광
      2002.05.25 19:26
      감사합니다.. 우선 프로그램하는 이쪽의 환경으로 하는 것이 아니라.. 저희 프로그램을 사용하는 사용...
    • 한석훈
    • 2002.05.25 19:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김지엽
      2002.05.25 19:06
      델파이 입장에서는 그 DB가 PASSWORD가 있는지 없는지 모르니까 그럽니다. TDATABASE 객체에 ID = "...
    • 한석훈
      2002.05.25 20:51
      님 말씀대로 이렇게 코딩을 했는데요. 그래도 계속 물어보내요. DatabaseLogin이벤트에서 처리를 하...
    • 박상윤
      2002.05.26 01:09
      Direct Input을 사용해보세여.. 마우스 및 사이드와인더 (Force feedbak 포함) 여러장치를 제어 할수 있...
    • 김지엽
      2002.05.25 19:10
      님이 짜신 소스를 보지 않은 상태에서 뭐가 뭐라고 이야기 하기는 힘들지만, 간단한 알람 프로그램 하나가 ...
    • GanJang
      2002.05.25 20:28
      답변 감사합니다. ^^ 근데, 기폰 폼 있잖아요? 델파이 시작하고 어플리케이션 시작하면 나타나는 폼. ...
    • 유영호
    • 2002.05.25 03:21
    • 6 COMMENTS
    • /
    • 0 LIKES
    • withcount
      2002.05.25 06:51
      select한 데이타만큼 update하는것이기 때문에 update용 query를 하나 더 사용하시기 바랍니다.. 그리고 ...
    • 안광호
      2002.05.25 03:59
      DataSet 이 Close 되어서 발생하는 에러입니다. 아래부분 *** 에서 Close 를 하고 있습니다.  ...
    • 유영호
      2002.05.25 04:07
      님 그럼 어떤 방법이 있을까여... 죄송하지만 한번 더 부탁드립니다.. 초보에게 희망과 용기를..... ...
    • 유영호
      2002.05.25 20:11
      .....
    • 김경록
      2002.05.25 19:01
      Var     lqry_Update: TQuery; Begin       query1...
    • 황선웅
      2002.05.25 19:00
      다른분이 먼저 답변을 주신것처럼 하나의 쿼리 컴포넌트로 Data를 fetch하고 for문을 실행중 Update를 하...
    • 박성환
    • 2002.05.25 02:28
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이호성
    • 2002.05.25 02:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 04:03
      안녕하세요. 최용일입니다. fData가 TDataRtn형인가요? 그럼 Data필드가 포인터형이니까, 포인터를 넘겨...
    • 최성원
    • 2002.05.25 01:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안광호
      2002.05.25 04:02
      C++ 에서 LPCSTR 로 사용하셨다는 것은 포인트를 말하는 것 같습니다. 델파이에서 이경우  선언...
    • 최용일
      2002.05.25 04:00
      안녕하세요. 최용일입니다. Calling Conversion확인해보세요. stdcall인가 cdecl인가... 그리고 파라...
    • 백록화
      2002.05.25 03:07
      yo` 안녕하세요 백록화 입니다. :) 손쉬운방법으로 load_file() 이라는 MySQL함수를 사용하는것입...
    • 최용일
      2002.05.25 03:52
      안녕하세요. 최용일입니다. 자료실에 보시면 메인메뉴 맘대로 꾸미기란 예제가 있을겁니다. 그거 참고하...
    • 유현성
    • 2002.05.25 01:16
    • 0 COMMENTS
    • /
    • 0 LIKES