Q&A

  • [ActiveX/OLE]델파이에서 엑셀을...
안녕하세요..

여기에 글을 올리는거는 처음인데...



제목 그대로 델파이에서 엑셀을 사용하려 합니다.

간단하게 그리드의 내용을 엑셀로 넣는다거나

엑셀의 자료를 가져오는거는 처리했거든요....

그런데 엑셀에 적을때, 테두리에 색을 칠한다거나

칸을 늘인다거나하는 미세한 부분의 처리가 잘 안 됩니다..



밑의 예제에서

Excel에 자료를 쓸 때,

oleCell(OleVariant)의 속성을 알았으면 좋겠는데

알 수 있는 방법을 모르겠습니다.



방법이 없을까요???

고수님들의 많은 답변을 바랍니다.



private

{ Private declarations }

oleExcel, oleWorkBook, oleSheet, oleCell : OleVariant;



// Excel에 자료 쓰기

procedure TForm1.Button3Click(Sender: TObject);

var

i : Integer;

begin

try

oleExcel := CreateOLEObject('EXCEL.Application');

oleWorkBook := oleExcel.WorkBooks.Add;

oleSheet := oleWorkBook.WorkSheets.Add;



for i := 1 to 10 do begin

oleCell := oleSheet.Cells[1, i];

oleCell.Value := IntToStr(i) + '번째 항';

end;

oleExcel.Visible := True;

except

Caption := 'Error';

end;

end;





// Excel로부터 자료 읽기

procedure TForm1.Button1Click(Sender: TObject);

var

sName : String;

begin

if OpenDialog1.Execute then begin

sName := OpenDialog1.FileName;

try

oleExcel := CreateOleObject('EXCEL.Application');

oleExcel.WorkBooks.Open(sName);

oleWorkBook := oleExcel.ActiveWorkBook;

oleSheet := oleWorkBook.ActiveSheet;

oleCell := oleSheet.Cells[3,5]; // 임의의 Cell 값

Caption := oleCell.Value;

oleExcel.Visible := True;

except

end;

end;

end;



1  COMMENTS
  • Profile
    하윤철 2000.04.12 21:27
    정규식 wrote:

    > 안녕하세요..

    > 여기에 글을 올리는거는 처음인데...

    >

    > 제목 그대로 델파이에서 엑셀을 사용하려 합니다.

    > 간단하게 그리드의 내용을 엑셀로 넣는다거나

    > 엑셀의 자료를 가져오는거는 처리했거든요....

    > 그런데 엑셀에 적을때, 테두리에 색을 칠한다거나

    > 칸을 늘인다거나하는 미세한 부분의 처리가 잘 안 됩니다..

    >



    Excel의 OLEAutomation 이라면... 여길 보세요.



    http://www.djpate.freeserve.co.uk/AutoExcl.htm



    Del 5.0 부터는 서버콤포넌트라고 지원이 됩니다.

    말이 지원이지 이전의 Import Type Library와 COM interface이용 첫단계를 아주 조금 줄여준거긴 합니다만... 이쪽이 이거저거 해보긴 편합니다. 점찍으면 뭐가 붙을지 보이니까요...