匯出EXCEL關閉的問題 |
尚未結案
|
a6475
高階會員 ![]() ![]() ![]() ![]() 發表:67 回覆:230 積分:154 註冊:2002-09-15 發送簡訊給我 |
各位大大好:
我用了站上的GRID匯出EXCEL的程式碼。(DBGrid2Excel那個)
但是我想在匯出後,就自動關閉EXCEL,所以在程式最後下了
MyExcel.Quit;
雖然可以自動關閉,但是我發現EXCEL還是殘留在記憶體中,沒有
釋放,如果程式執行三次,在工作管理員的處理程序就會出現3個,
請問該怎麼解決啊? ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎ 藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475 發表人 - a6475 於 2003/10/27 20:21:53
------
月夜 光明 藍更愁 |
00156
高階會員 ![]() ![]() ![]() ![]() 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
|
shie
一般會員 ![]() ![]() 發表:7 回覆:10 積分:3 註冊:2003-09-12 發送簡訊給我 |
借花現佛一下~~不好意思~~改個位置就好了 procedure TForm1.DBGrid2Excel(DBGrid:TDBGrid;ExcelFileName:string);
var MyExcel: Variant;
x,y:integer;
begin
deletefile(ExcelFileName);
MyExcel := CreateOleOBject('Excel.Application');
MyExcel.WorkBooks.Add;
dbgrid.DataSource.DataSet.First;
y:=1;
for x:=1 to dbgrid.FieldCount do
begin
MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] := dbgrid.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 := dbgrid.Fields[x-1].DisplayWidth;
end;
inc(y);
while not dbgrid.DataSource.DataSet.eof do
begin
for x:=1 to dbgrid.FieldCount do
begin
MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] := dbgrid.Fields[x-1].AsString;
end;
inc(y);
dbgrid.DataSource.DataSet.next;
end;
MyExcel.WorkBooks[1].Saveas(ExcelFileName);
MyExcel.WorkBooks[1].Close(ExcelFileName);<===關閉
end; procedure TForm1.Button2Click(Sender: TObject); begin
DBGrid2Excel(dbgrid1,FileName);
ShowMessage('轉出完成!!');
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |