Q&A

  • 델파이에서 Excel 파일의 셀에 접근
제목 그대로 입니다.
Excel 파일의 셀에 접근을 어떻게 하면 되는지요?
그리고 어떤 컴포넌트를 쓰면 되는지요..?
제가 델파이 초보라서... ^^

tip란을 가봐도 뭐가 뭔지 모르겠습니다.. ㅠ.ㅠ
그냥 디비그리드 사용해서 불러오는건가요..?

예를 들자면 저는 액셀파일의 3번째 행의 모든 값들을 통계를 내고 싶거든요.
그리고 그 통계값을 새로운 액셀파일로 저장을 하고 싶습니다.
고수님덜 어떻게 하면 좋은지요?

그리고 액셀 파일의 내용을 델파이로 모두 읽어 오는것도 가능한가요?

그럼 답변 기다리겠습니다.

꾸벅~~
2  COMMENTS
  • Profile
    윤수아 2003.04.14 23:10
    ADO Query를 이용하시면 됩니다.
    이 방법은 Excel의 내용을 마치 DB 인 것처럼 ADO Query안으로 불러들이는 방식입니다.

      with ADOQuery1 do
      begin
        Close;
        ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
                           엑셀화일이름(경로명 포함) + ';Extended Properties=Excel 8.0;Persist Security Info=False';
        SQL.Clear;
        SQL.Text := 'SELECT * FROM ['+Sheet이름+'$]';
        open;
      end;
      StartExcelTODB;  <- 이건 ADOQuery1에 Select된 결과를 저의 실제
                                    DB Table로 옮기는 함수..님도 해주실 일을 함수로
                                    짜셔서 여기서 호출하시면 되요...
                                    ADOQuery1.findField('상품코드').DisplayText; 뭐
                                    이런식으로 접근되고요...
      ADOQuery1.Close;

    음...저는 그냥 늘 저런 식으로 Select * From 했는데...님께서...가지고 오시고 싶은 3번째행이름을 넣고 Select 하셔도 될 듯...
    Select AAA From 이런식으로요....(이건 안해봐서 잘 모르겠습니다..한번 해보세요)

    혹은 OLE를 이용한 방법도 있습니다.
    팁란에서 엑셀,Excel이라고 검색하시면 소스도 보실 수 있을 겁니다.


  • Profile
    정광필 2003.04.14 23:38
    우선 답변 정말 감사합니다.
    그럼 일반 데이터베이스에 접속해서 쿼리 던지는 것같이 엑셀파일도 이런식으로 접근하면 되는것인가요?
    그리고 데이터셋으로 가져오는 것인가요?
    대신 연결할때는 OLE컴포넌트를 사용하고요..
    답변기다리겟습니다.