我使用的代码如下,但与期望的不一致(出现提示,保存2次)。请您指教!
procedure TMainForm.DQryToExcel(cQName,dQName:TQuery;fName:string);
var i,j,k:integer;
TStr,cNameStr:string;
lcid:integer;
workbook1:_workbook;
ws:olevariant;
begin //cQName需要导出数据的字段名
//dQName需要导出的数据集
//fName导出后的Excel文件名 //启动Excel2000
try
lcid:=GetUserDefaultlcid;
ExcelApplication1.Connect;
ExcelApplication1.Visible[lcid]:=True;
ExcelApplication1.Caption := fName;
workbook1:=ExcelApplication1.Workbooks.Add(emptyparam,lcid);
//新建Excel工作薄workboook1
ws:=ExcelApplication1.ActiveSheet as _worksheet; //导出代码省略 //保存导出的Excel文件
TStr:=ExtractFilePath(Application.Exename) + '导出的Excel文件\' + FName + '.xls';
ExcelApplication1.Save(TStr,lcid); //退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect; except
MessageDlg('打开Excel出错!',mtError,[mbOK],0);
end;end;
procedure TMainForm.DQryToExcel(cQName,dQName:TQuery;fName:string);
var i,j,k:integer;
TStr,cNameStr:string;
lcid:integer;
workbook1:_workbook;
ws:olevariant;
begin //cQName需要导出数据的字段名
//dQName需要导出的数据集
//fName导出后的Excel文件名 //启动Excel2000
try
lcid:=GetUserDefaultlcid;
ExcelApplication1.Connect;
ExcelApplication1.Visible[lcid]:=True;
ExcelApplication1.Caption := fName;
workbook1:=ExcelApplication1.Workbooks.Add(emptyparam,lcid);
//新建Excel工作薄workboook1
ws:=ExcelApplication1.ActiveSheet as _worksheet; //导出代码省略 //保存导出的Excel文件
TStr:=ExtractFilePath(Application.Exename) + '导出的Excel文件\' + FName + '.xls';
ExcelApplication1.Save(TStr,lcid); //退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect; except
MessageDlg('打开Excel出错!',mtError,[mbOK],0);
end;end;
"C:\Documents and Settings\CHN0003114\My Documents\Book1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False上面是宏里面的VB代码,可能需要改下,很久之前就有这样的解答了吧,你引用的时候用xx.save(文件名,文件形式,密码,确认密码,访问,创建备分)这样的形式试下。
procedure TForm1.Button1Click(Sender: TObject);
var a : Variant;
begin
a := CreateOleObject('Excel.Application');
a.Visible := True;
a.DisplayAlerts := False; {关键是这里}
a.Workbooks.Open('c:\Book1.Xls');
a.ActiveWorkbook.SaveAs('c:\Book2.Xls');
a.ActiveWorkbook.SaveAs('c:\Book1.Xls');
end;
MyExcel.DisplayAlerts:=false;
MyExcel.Activeworkbook.saveas(TempFileName);// c:\test\test.xls
MyExcel.Activeworkbook.close(false);
MyExcel.quit;