안녕하세요.
델파이 7에서 excell 사용법을 아래 같이 코딩 했는데 엑셀 편환시 데이타 필드 타이틀이 안나옵니다...
몇일째 고민 중 ㅠㅠ;
뭐가 잘못 됐는지 혹은 뭐가 빠졌는지 알려 주시면 정말 감사 하겠습니다...
왕초보 올림...^^;
var
XLBook,XL, xtitle:variant;
si, sj, i: integer;
begin
try
XL := GetActiveOLEObject('Excel.Application');
except
on E: EOleSysError do begin
try
XL := CreateOLEObject('Excel.Application'); //엑셀을 실행
except
MessageDlg('Excel이 설치되어 있지 않습니다.', MtWarning, [mbok], 0);
XL.free;
Exit;
end;
end;
end;
//title
XTitle := VarArrayCreate([1, dbgrid1.FieldCount], VarVariant);
XLBook := XL.WorkBooks.Add;
i:=1;
while i <= dbgrid2.FieldCount do begin
Xtitle[i]:= dbgrid2.Columns.Items[i-1].Title.caption;
inc(i);
end;
xL.range['A1', CHR(64 + dbgrid2.FieldCount) + '1'].Value := XTitle;
//=================================================================================
try
// XLBook := XL.WorkBooks.Add; //새로운 페이지 생성
XLBook.WorkSheets[1].Name := '데이타 조회';
XL.Visible := True;
Dm1.QIBmain1.DisableControls;
Dm1.QIBmain1.First;
For si := 1 To Dm1.QIBmain1.RecordCount Do Begin
Application.ProcessMessages;
For sj := 1 To dbgrid2.FieldCount Do Begin
XL.Cells[si+1,sj].Value := Dm1.QIBmain1.Fields[sj-1].AsString;
XL.Cells[si+1,sj].Style.NumberFormatLocal := '@' ;//문자열로 인식하게 하게함
End;
Dm1.QIBmain1.Next;
End;
XLBook.WorkSheets['데이타조회'].Range['A1', 'A1'].Select;
XL.Selection.Columns.AutoFit;
Dm1.QIBmain1.EnableControls;
finally
XLBook := UnAssigned;
XL := UnAssigned;
end;
end;
|