B
bensonhe
Unregistered / Unconfirmed
GUEST, unregistred user!
最近小弟接到一个任务,就是要把数据库中的数据转到Execl当中,一下就是代码:
var ExcelApp: Variant;
begin
try
try
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open( ExtractFilePath(Application.ExeName)+'Excel/dg_data.xls');
ExcelApp.Visible := True;
ExcelApp.WorkSheets[1].Activate;
ExcelApp.Cells[2,3].Value :=ADOTable1.FieldByName('StationName').AsString ;
ExcelApp.Cells[6,2].Value :=ADOTable1.FieldByName('StationName').AsString ;
。。。。
ExcelApp.ActiveSheet.PrintPreview;
ExcelApp.ActiveWorkBook.Saved := True;
// ExcelApp.WorkBooks.Close;
// ExcelApp.Quit;
except
MessageBox(handle,'你的计算机没有安装Excel,或者模板文件不存在!','错误',MB_OK+MB_ICONERROR);
//showmessage(ExtractFilePath(Application.ExeName)+'Excel/dg_data.xls');
end;
finally
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
ExcelApp :=UnAssigned;
end;
开始的时候我一切都很顺利,但是运行了一段时间以后,按Del+Alt+Ctrl就发现原来Excel根本没有释放,
最后搞到系统出现内存不够.我现在正在苦恼,不知道怎样才能真正释放掉Excel,我用的是Win98!
请各位高手帮帮忙!谢谢!
(注:如果又具体的源代码,请注明需要引用的一些比较特殊的单元名称。谢谢!)
var ExcelApp: Variant;
begin
try
try
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open( ExtractFilePath(Application.ExeName)+'Excel/dg_data.xls');
ExcelApp.Visible := True;
ExcelApp.WorkSheets[1].Activate;
ExcelApp.Cells[2,3].Value :=ADOTable1.FieldByName('StationName').AsString ;
ExcelApp.Cells[6,2].Value :=ADOTable1.FieldByName('StationName').AsString ;
。。。。
ExcelApp.ActiveSheet.PrintPreview;
ExcelApp.ActiveWorkBook.Saved := True;
// ExcelApp.WorkBooks.Close;
// ExcelApp.Quit;
except
MessageBox(handle,'你的计算机没有安装Excel,或者模板文件不存在!','错误',MB_OK+MB_ICONERROR);
//showmessage(ExtractFilePath(Application.ExeName)+'Excel/dg_data.xls');
end;
finally
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
ExcelApp :=UnAssigned;
end;
开始的时候我一切都很顺利,但是运行了一段时间以后,按Del+Alt+Ctrl就发现原来Excel根本没有释放,
最后搞到系统出现内存不够.我现在正在苦恼,不知道怎样才能真正释放掉Excel,我用的是Win98!
请各位高手帮帮忙!谢谢!
(注:如果又具体的源代码,请注明需要引用的一些比较特殊的单元名称。谢谢!)