|
Tips5
D400→Excel出力 |
|
|
Delphi/400からExcel出力を行う方法についてご紹介します。 |
|
|
処理方法 |
● |
Delphi/400からExcel出力を行うには主に2つのパターンに分けられます。 |
|
OLEオートメーションを使用する |
|
サードパーティ製品を利用する(VB-Reportなど) |
|
|
|
|
|
注意点 |
● |
OLEオートメーションを使用した場合、端末にExcelが導入されている必要があります。 |
|
|
|
|
|
OLEオートメーションを使用してExcel出力を行うコーディング例は次の通りです。 |
● |
uses節に「ComObj」を追加しておいてください。 |
|
procedure TForm1.Button1Click(Sender: TObject);
var
MsExcel : Variant;
MsApplication: Variant;
WBook : Variant;
WSheet : Variant;
i : integer;
begin
Table1.Open;
//Excel起動
MsExcel := CreateOleObject('Excel.Application');
MsApplication := MsExcel.Application;
MsApplication.Visible := True;
WBook := MsApplication.WorkBooks.Add ;
WSheet :=WBook.ActiveSheet;
//Excelにタイトル出力
WSheet.Cells[1,3].Value := '得意先マスター一覧表';
WSheet.Cells[1,3].Font.Size := 15;
WSheet.Cells[2,1].Value := '得意先コード';
WSheet.Cells[2,2].Value := '得意先名';
WSheet.Cells[2,3].Value := '住所';
WSheet.Cells[2,1].Font.Bold := 'True';
WSheet.Cells[2,2].Font.Bold := 'True';
WSheet.Cells[2,3].Font.Bold := 'True';
//Excelにデータ出力
with Table1 do
begin
i := 0;
First;
while not eof do
begin
WSheet.Cells[i+3,1].Value := FieldByName('CUSTNO').AsInteger;
WSheet.Cells[i+3,2].Value := FieldByName('COMPANY').AsString;
WSheet.Cells[i+3,3].Value := FieldByName('ADDR1').AsString;
Next;
i := i + 1;
end;
Active := False;
end;
//保存の確認を行う
WBook.Saved := False;
//Excel終了
MsApplication.WorkBooks.Close;
MsExcel.Quit;
end;
|
|
|
|
|