大虾帮忙!如何将report报表中呈现的内容在excel中显示!
解决方案 »
- sql语句整合的问题
- Delphi6调用 返回多个游标的存储过程 报错
- 如何读取网页源码然后生成html文件?
- Delphi如何执行另外一个dos的exe程序,并且判断它执行完毕?
- TExcelWorksheet.Delete在Excel2000下总是弹出确认是否删除的对话框,请教怎样屏蔽该对话框
- 如何将数据表的字段相同的数据加起来?谢谢!万分火急
- 请问高手:如何将汉字转化为WORD类型,详细如下:
- delphi中类似于vb中 MID 的函数是什么
- 送分100分:求几个VC6中的数据类型与DELPHI6相对应的数据类型
- fastreport 小写转大写金额,函数怎么调用?
- 哪位有兴趣分销我的软件,给你一个好的折扣,www.21-sun.com/soft
- 怎样判断一个组件已经存在,(按名字来识名)
var
fexcel: variant;
fworkbook: variant;
fworksheet: variant;
farray: variant;
s, z: integer;
rangestr: string;
strtcol, strtrow: integer;begin
if Query1.IsEmpty then exit;
screen.cursor := crHourGlass; try
FExcel := CreateOleObject('excel.application');
except
screen.cursor := crDefault;
Application.MessageBox('您没有安装excel', '错误', MB_OK);
exit;
end; FWorkBook := FExcel.WorkBooks.Add;
FWorkSheet := FWorkBook.WorkSheets[1]; strtcol := 0;
strtrow := 0; farray := vararraycreate([0, query1.RecordCount, 0, 13], varVariant);
for z:=0 to 13 do
farray[0, z]:=DbGrid1.Columns[z].Title.Caption; with Query1 do
begin
First;
s := 1;
while not Eof do
begin
for z := 0 to 13 do
begin
farray[s - strtrow, z - strtcol] := Fields[z].AsString;
end;
Inc(s);
Next;
end;
end;
rangestr := 'A:N 1:'+InttoStr(query1.RecordCount+1);
FWorkSheet.Range[rangestr].Value := fArray;
try
FWorkbook.SaveAs(ExtractFileDir(Application.ExeName) + '\chargescheme.xls');
except
screen.cursor := crDefault;
exit;
end;
FExcel.Quit;
FExcel := unassigned;
screen.cursor := crDefault;
end;