| 
          
            
              | Delphi Programming / Object Pascal 
      [掲載 2002年01月16日] [更新 2016年05月04日] Excel出力コンポーネント
 |  
          
            
              | Excel 出力コンポーネント テストプログラム TemplateTest
 |  
              | 動作確認等 | Windows 7 U64(SP1) + Delphi XE(UP1) Pro |  
 
 
 
 
 
 
 
 
 
          
            
              | テンプレート用 (ひな型) のファイルを指定した場合のテストプログラムです. テンプレートとして,テストプログラムフォルダ内のテストブック.Xlt を使用しています.出力先はボタンクリックで現れる保存ダイアログで新規のブック名をタイプするか,既存のブック名を選択します.既存のブック名を選択した場合は,一度そのブックが削除され,テンプレートのコピーが作成されて,そこにデータを出力します.
 |  
 
 
          
            
              |  | 図1 テンプレート用のブック
 
                  あらかじめテンプレート用のブックを用意このブックのコピーを作成してデータを書込むテストに使用したのは Excel 2010 |  
              |  | 図2 設計時の画面
 |  
              |  | 図3 作成されたブック
 |  
              |  | 図4 作成されたブックの内容
 |  
 
unit TemplateTestUnit;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, plXLSOut, DB, DBTables, StdCtrls;
type
  TForm1 = class(TForm)
    Table1: TTable;
    Table1CustNo: TFloatField;
    Table1Company: TStringField;
    Table1Addr1: TStringField;
    Table1Country: TStringField;
    Table1Phone: TStringField;
    Table1LastInvoiceDate: TDateTimeField;
    SaveDialog1: TSaveDialog;
    Button1: TButton;
    plXLSOut1: TplXLSOut;
    procedure Button2Clic(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
//=============================================================================
//  保存ダイアログで保存ファイル(ブック)名を指定して実行
//  セル等の属性はTemplateFileの属性に従う(AttribOut:=Falseなので)
//=============================================================================
procedure TForm1.Button2Clic(Sender: TObject);
begin
  Table1.Open;
  plXLSOut1.AttribOut    := False;
  plXLSOut1.FileDir      := ExtractFileDir(Application.ExeName);
  plXLSOut1.TemplateFile := plXLSOut1.FileDir + PathDelim + 'テストブック.xlt';
  with SaveDialog1 do begin
    InitialDir := plXLSOut1.FileDir;
    FileName   := '別名保存ファイル';
    Filter     := 'Microsoft Excelファイル (*.Xls)|*.XLS';
    if Execute then begin
      plXLSOut1.FilePath := FileName;
      plXLSOut1.Excute;
    end;
  end;
  Table1.Close;
end;
end. 
 
 
 
 
 
 
 
 |