Soubory XLS, vytvoření, export dat |
Top |
Seznam témat: export datové množiny do formátu XLS
Export datové množiny do formátu XLS Příklad využívá technologie OLE Automation pro vytvoření souboru XLS přímo pomocí aplikace MS Excel. Tato aplikace proto musí být na stanici nainstalována.
var Excel: Variant; WorkBook: Variant; WorkSheet: Variant; FName: string; Qry: TQuery; Row,Col: integer; WaitBox: TProgress; begin //inicializuj Excel try Excel := CreateOLEObject('Excel.Application'); except ErrorBox('Na této stanici není instalován MS Excel.'); Exit; end;
//příprav sheet WorkBook := Excel.WorkBooks.Add; WorkSheet := WorkBook.WorkSheets[1];
WaitBox := TProgress.CreateSimple('Export do XLS', 'Probíhá export kurzů. Prosím, čekejte...'); try //otevři dataset a zapiš do XLS všechny řádky a sloupce Qry := TQuery.Create(nil); try Qry.DatabaseName := DefaultDatabaseName; Qry.SQL.Add('select mena_id, dne, koef, cinitel'); Qry.SQL.Add('from dba.gkurzy'); Qry.SQL.Add('where mena_id=''EUR'''); Qry.SQL.Add('order by mena_id, dne'); Qry.Open;
//do prvního řádku v XLS zapiš názvy polí for Col := 1 to Qry.FieldCount do WorkSheet.Cells(1, Col) := Qry.Fields[Col-1].FieldName;
//do dalších řádků zapiš hodnoty datasetu Row := 2; while not Qry.Eof do begin for Col := 1 to Qry.FieldCount do WorkSheet.Cells(Row, Col) := Qry.Fields[Col-1].Value;
Inc(Row); Qry.Next; end; finally Qry.Free; end; finally WaitBox.Free; end;
//zeptej se na soubor a ulož sheet with TSaveDialog.Create(nil) do try DefaultExt := 'xls'; Filter := 'Soubory MS Excel|*.xls'; if Execute then begin FName := FileName; WorkBook.SaveAs(FName); end; finally Free; end;
//ukonči Excel Excel.Quit; end.
Související témata |