程序如下,我只是希望数据定时输出到指定的Excel文件中,然后自动保存,因为是服务器,不可能人工去点击是、否或取消,可是程序总提示我点击。请帮忙。
procedure outputexcel;
var xls,xlsworkbook,xlsworksheetData: OleVariant;
i,icount : integer ;
begin
try
try
xls :=GetActiveOleObject('Excel.application');
except
xls :=CreateOleObject('Excel.application');
end;
except
end;
try
xls.workbooks.open('d:\test\数据.xls');
//我以前用的是 xlsworkbook:=xls.workbooks.add('d:\test\test.xls')
//可他打开的是数据1.xls
except
end;
xls.visible :=true ;
xlsworksheetdata := xls.workbooks[1].worksheets[1];//
//以前用的xlsworksheetdata := xls.workbooks.activesheet;就对,
//可改后这里也有问题,如果已经打开其他Excel,则数据默认输出到
//别的Excel中,而不是我知道的数据.xls
try
i := 1 ;
while trim(xlsworksheetdata.cells[i,1]) <> '' do
begin
i := i + 1 ;
next;
end;
xlsworksheetdata.cells[i,1] := 420 ;
xlsworksheetdata.cells[i,2] := 60 ;
except
xls.workbooks.Close ;
exit;
end;
xls.workbooks.save;//程序报错误命令,如果用xls.save则提示覆盖
xls.workbooks.Close ;
end;
procedure outputexcel;
var xls,xlsworkbook,xlsworksheetData: OleVariant;
i,icount : integer ;
begin
try
try
xls :=GetActiveOleObject('Excel.application');
except
xls :=CreateOleObject('Excel.application');
end;
except
end;
try
xls.workbooks.open('d:\test\数据.xls');
//我以前用的是 xlsworkbook:=xls.workbooks.add('d:\test\test.xls')
//可他打开的是数据1.xls
except
end;
xls.visible :=true ;
xlsworksheetdata := xls.workbooks[1].worksheets[1];//
//以前用的xlsworksheetdata := xls.workbooks.activesheet;就对,
//可改后这里也有问题,如果已经打开其他Excel,则数据默认输出到
//别的Excel中,而不是我知道的数据.xls
try
i := 1 ;
while trim(xlsworksheetdata.cells[i,1]) <> '' do
begin
i := i + 1 ;
next;
end;
xlsworksheetdata.cells[i,1] := 420 ;
xlsworksheetdata.cells[i,2] := 60 ;
except
xls.workbooks.Close ;
exit;
end;
xls.workbooks.save;//程序报错误命令,如果用xls.save则提示覆盖
xls.workbooks.Close ;
end;
解决方案 »
- 稿费到手,散分
- 哪有delphi写的三层酒店管理系统的源代码(C/S模式)下载?
- 如何设置事件?
- 用ADO连接数据库,删除一条记录报msado15.dll错误
- 一个关于IntraWeb简单问题,请求帮助,谢谢!
- 怎样将一个字符转换成byte类,有没有函数??
- 打开数据表出现“数据提供者或其他服务返回E_FAIL状态”的提示?????
- 如何在delphi中打开sql server2000中的image类型的图片
- 怎样把EDIT和DATETIMEPICKER中的东西导 到库里去
- 小弟是一个delphi迷,但是水平不高。近日,在单位做了一个小程序,用到了bde和odbc,现在需要把他装到另一台没有delphi环境的机器上去,
- 触发器问题!在线结分
- 请问Delphi能否对AutoCAD进行二次开发?
另外一种方法
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
li_row:integer;
ExcelApplication1:tExcelApplication;
ExcelWorkbook1:tExcelWorkbook;
ExcelWorksheet1:tExcelWorksheet;
begin
try
ExcelApplication1:=tExcelApplication.Create(nil);
ExcelWorkbook1:=tExcelWorkbook.Create(nil);
ExcelWorksheet1:=tExcelWorksheet.Create(nil);
ExcelApplication1.AutoConnect:=false;
// ExcelApplication1.ConnectTo( nil);
ExcelApplication1.Connect;//EXCEL应用程序
//
Except
MessageDlg('Excel may not be installed',mtError, [mbOk], 0);
Abort;
End; ExcelApplication1.Visible[0]:=true;
// ExcelApplication1.Caption:='Excel Application';
{ ExcelApplication1.Workbooks.Open(as_FileName ,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
}// ExcelApplication1.Workbooks.Add(EmptyParam,0);
//ExcelWorkbook1.Connectto( ExcelApplication1.Workbooks[1] ) ; // ExcelWorkbook1.Connectto( ExcelApplication1.Workbooks.Add(EmptyParam,0) ) ;
ExcelWorkbook1.Connectto( ExcelApplication1.Workbooks.Open('d:\test\数据.XLS' ,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)) ; // ExcelWorkbook1.ConnectTo( as _workbook );//ExcelWorkbook1与Eexcelapplication1建立连接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与
//ExcelWorksheet1.Cells.Item[1,1]:='1'; li_row:=1;
ExcelWorksheet1.Rows.Font.Name:='宋体';
ExcelWorksheet1.Rows.Font.size:=9;
ExcelWorksheet1.Rows.AutoFit;
ExcelWorksheet1.Cells.Item[1,1]:=NOW();
// ExcelWorksheet1.SaveAs('d:\test\数据.XLS') ;
ExcelWorkbook1.Save; ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Free;
//以前用的xlsworksheetdata := xls.workbooks.activesheet就对,
//可改后这里也有问题,如果已经打开其他Excel,则数据默认输出到
//别的Excel中,而不是我知道的数据.xls
我试了,他是不提问是否保存了,可是数据也存不进去呀