안녕하세요..
여기에 글을 올리는거는 처음인데...
제목 그대로 델파이에서 엑셀을 사용하려 합니다.
간단하게 그리드의 내용을 엑셀로 넣는다거나
엑셀의 자료를 가져오는거는 처리했거든요....
그런데 엑셀에 적을때, 테두리에 색을 칠한다거나
칸을 늘인다거나하는 미세한 부분의 처리가 잘 안 됩니다..
밑의 예제에서
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;
> 안녕하세요..
> 여기에 글을 올리는거는 처음인데...
>
> 제목 그대로 델파이에서 엑셀을 사용하려 합니다.
> 간단하게 그리드의 내용을 엑셀로 넣는다거나
> 엑셀의 자료를 가져오는거는 처리했거든요....
> 그런데 엑셀에 적을때, 테두리에 색을 칠한다거나
> 칸을 늘인다거나하는 미세한 부분의 처리가 잘 안 됩니다..
>
Excel의 OLEAutomation 이라면... 여길 보세요.
http://www.djpate.freeserve.co.uk/AutoExcl.htm
Del 5.0 부터는 서버콤포넌트라고 지원이 됩니다.
말이 지원이지 이전의 Import Type Library와 COM interface이용 첫단계를 아주 조금 줄여준거긴 합니다만... 이쪽이 이거저거 해보긴 편합니다. 점찍으면 뭐가 붙을지 보이니까요...