delphi 调用excel,修改excel并显示
2007-10-22 10:14
639 查看
目的:将查询结果输出到excel,并打开excel
function TFrmDBCZ_Report_DLBBFK.ProcessExcel(date: string): Boolean;
var
xlapp,MySheet,MyBooks:Variant;
i,j:Integer;
filename,savefile :string;
begin
filename := ExtractFilePath(Application.ExeName)+'报表模版分矿转供电量明细表.xls';
savefile := ExtractFilePath(Application.ExeName)+'报表'+copy(date,1,4)+'年'+copy(date,6,2)+'月分矿转供电量明细表.xls';
if FileExists(savefile) then
begin
if not DeleteFile(savefile) then
begin
ShowMessage('文件'+savefile+'可能被占用,请关闭文件重试');
Result := False;
Exit;
end;
end;
xlapp:= CreateOleObject('Excel.Application');
xlapp.Workbooks.Open(filename);
MyBooks := xlapp.workbooks[1];
MySheet := xlapp.Workbooks[1].WorkSheets['电量报表(分矿)'] ;
qry1.Close;
qry1.Parameters.ParamByName('lb').Value := '汇总';
qry1.Open;
j :=4;
for j := 4 to 12 do
begin
for i := 5 to 13 do
begin
MySheet.Cells[j,i] := qry1.Fields[i+1].AsInteger;
end;
qry1.Next;
end;
mybooks.saved := True;//如果要关闭某个已更改的工作簿,但又不想保存它或者不想出现保存提示
mybooks.saveas(savefile);
MyBooks.close;
xlapp.quit;
xlapp:= CreateOleObject('Excel.Application');
xlapp.Workbooks.Open(savefile);
xlapp.visible := True;
//OleContainer1.CreateObjectFromFile(savefile,false);
//OleContainer1.DoVerb(0);
Result := True;
end;
function TFrmDBCZ_Report_DLBBFK.ProcessExcel(date: string): Boolean;
var
xlapp,MySheet,MyBooks:Variant;
i,j:Integer;
filename,savefile :string;
begin
filename := ExtractFilePath(Application.ExeName)+'报表模版分矿转供电量明细表.xls';
savefile := ExtractFilePath(Application.ExeName)+'报表'+copy(date,1,4)+'年'+copy(date,6,2)+'月分矿转供电量明细表.xls';
if FileExists(savefile) then
begin
if not DeleteFile(savefile) then
begin
ShowMessage('文件'+savefile+'可能被占用,请关闭文件重试');
Result := False;
Exit;
end;
end;
xlapp:= CreateOleObject('Excel.Application');
xlapp.Workbooks.Open(filename);
MyBooks := xlapp.workbooks[1];
MySheet := xlapp.Workbooks[1].WorkSheets['电量报表(分矿)'] ;
qry1.Close;
qry1.Parameters.ParamByName('lb').Value := '汇总';
qry1.Open;
j :=4;
for j := 4 to 12 do
begin
for i := 5 to 13 do
begin
MySheet.Cells[j,i] := qry1.Fields[i+1].AsInteger;
end;
qry1.Next;
end;
mybooks.saved := True;//如果要关闭某个已更改的工作簿,但又不想保存它或者不想出现保存提示
mybooks.saveas(savefile);
MyBooks.close;
xlapp.quit;
xlapp:= CreateOleObject('Excel.Application');
xlapp.Workbooks.Open(savefile);
xlapp.visible := True;
//OleContainer1.CreateObjectFromFile(savefile,false);
//OleContainer1.DoVerb(0);
Result := True;
end;
相关文章推荐
- Delphi 调用netsh命令修改IP地址
- Delphi调用Excel设置单元格的格式
- 在VC中调用WORD(显示,修改,存盘,运行宏)
- delphi 调用 Excel 宏
- EasyUI DataGrid 修改每页显示数量的最大值&&导出Grid到Excel
- VB.NET在Webbrowser容器内显示EXCEL、WORD,需要修改注册表
- 在VC中调用WORD(显示,修改,存盘,运行宏)
- Delphi调用IUserNotification2显示气泡提示
- Delphi变成小技巧——直接将excel当做表来显示
- 关于Delphi在定义了函数进行调用时显示undeclared identifier的问题
- delphi2010 "名,伍,上"等字不显示的修改
- 把页面Table表格内容导出为Excel-仅是当前页面上显示的table 分页未知(转载 略修改)
- Delphi 调用netsh命令修改IP地址
- 在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏
- Delphi调用Excel的其它技巧
- 动态调整对话框属性(去掉标题栏,去掉边框,修改类似成Border:NONE样式)(调用ModifyStyle和ModifyStyleEx,然后调用SetWindowPos重新显示)
- EXCEL中无法显示TDExcelAddin插件的修改方法
- 修改sql数据库显示远程调用失败
- Office——EXCEL 显示 隐藏 Ribbon 调用宏
- [导入]利用Delphi 5中调用Excel 97