delphi控制excel问题 很难的删除excel文档问题(90)

  • 主题发起人 主题发起人 yicheng
  • 开始时间 开始时间
Y

yicheng

Unregistered / Unconfirmed
GUEST, unregistred user!
我用:procedure TForm1.Button1Click(Sender: TObject);var s:String; sFileName:string;begin sFileName:='c:/qin.xls'; s:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + sFileName + ';Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False'; with adoquery1 do begin ConnectionString:=s; Close; SQL.Clear; SQL.Text := 'SELECT * FROM ' + '[sheet1$]'; Open; endend;将EXCEL文档内容读入adoquery后,这时,如果我不退出程序,我要删除C盘下面的 c:/qin.xls 这个文档。如何处理?
 
直接DeleteFile('c:/qin.xls')试试
 
凭想想这都不可能呀
 
先将adoquery1读入的数据用TClientDataSet保存数据,然后关闭adoquery1,接着就可以删除EXCEL文件了.
 
不行呀,我试了,不行。
 
再打开另一个xls,就可以删除原来的xls了adoquery1.close;adoquery1.connectionstring := ..........adoquery1.open;deletefile........
 
确定不行,我刚刚也试过了。
 
很简单,加2行:var s:String; sFileName:string;begin sFileName:='c:/qin.xls'; s:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + sFileName + ';Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False'; with adoquery1 do begin ConnectionString:=s; Close; SQL.Clear; SQL.Text := 'SELECT * FROM ' + '[sheet1$]'; Open; close; //<-这里 ConnectionString:=''; //<-这里 end; if not DeleteFile('c:/qin.xls') then showmessage('删除失败');end;
 
后退
顶部