DELPHI DATASET轉EXCEL |
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
DATASET轉存EXCEL
[code delphi] USES COMOBJ; procedure DataSetToXLS(ds:TDataSet;fname:String); var MyExcel: Variant; x,y:integer; begin MyExcel := CreateOleOBject('Excel.Application'); MyExcel.WorkBooks.Add; y:=1; //標題列 for x:=1 to ds.FieldCount do begin MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] := ds.Fields[x-1].DisplayName; // 將該欄設為標選 MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x].Select; // 將標題欄位變粗體字 MyExcel.Selection.Font.Bold := true; // 設定欄位寬度 //MyExcel.WorkBooks[1].WorkSheets[1].Columns[x].ColumnWidth := ds.Fields[x-1].DisplayWidth; //每一欄轉成文字型態 MyExcel.Columns[x].Select; MyExcel.Selection.NumberFormatLocal:='@'; end; inc(y); while not ds.eof do begin for x:=1 to ds.FieldCount do begin //將資料塞進每一欄 MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] := ds.Fields[x-1].AsString; end; inc(y); ds.next; end; MyExcel.WorkBooks[1].WorkSheets[1].Cells[1,1].Select; MyExcel.Columns.AutoFit; MyExcel.WorkBooks[1].Saveas(fname); MyExcel.WorkBooks[1].Close(fname); //關閉 end; [/code]
------
What do we live for if not to make life less difficult for each other? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |