我的代码如下:var
XlAPP:Variant;
Sheet1:Variant;
i,j:integer;
curRow:integer;
xlsFilename :string;
eclApp,WorkBook :variant ;
a_filedNo :integer;
begin ADOQUERY1.Active:=TRUE;
if dbgrid1.DataSource.DataSet.RecordCount<1 then exit;
//创建excel对象 a_filedNo := Form1.DBGrid1.FieldCount;
xlsFileName :='成绩基本信息.xls'; try
eclApp :=CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您的系统没有安装MS EXCEL');
exit;
end;
curRow:=0;
for j:=0 to dbgrid1.FieldCount-1 do
begin
sheet1.cells[1,curRow+1]:=dbgrid1.Columns[j].Title.Caption;
inc(curRow);
end;
//处理记录
dbgrid1.DataSource.DataSet.First;
i:=2;
while not dbgrid1.DataSource.DataSet.Eof do
begin
//处理一行
curRow:=0;
for j:=0 to dbgrid1.Columns.Count-1 do
begin
Sheet1.cells[i,curRow+1]:=trim(dbgrid1.Fields[j].DisplayText) ;
inc(curRow);
end;
i:=i+1;
dbgrid1.DataSource.DataSet.Next;
end;
XLApp.Visible:=true;在uses中我也加入了comobj,可还是提示我的“不支持此接口”的提示!
我用的系统为win2003、Excel2003,sql2000sp3
XlAPP:Variant;
Sheet1:Variant;
i,j:integer;
curRow:integer;
xlsFilename :string;
eclApp,WorkBook :variant ;
a_filedNo :integer;
begin ADOQUERY1.Active:=TRUE;
if dbgrid1.DataSource.DataSet.RecordCount<1 then exit;
//创建excel对象 a_filedNo := Form1.DBGrid1.FieldCount;
xlsFileName :='成绩基本信息.xls'; try
eclApp :=CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您的系统没有安装MS EXCEL');
exit;
end;
curRow:=0;
for j:=0 to dbgrid1.FieldCount-1 do
begin
sheet1.cells[1,curRow+1]:=dbgrid1.Columns[j].Title.Caption;
inc(curRow);
end;
//处理记录
dbgrid1.DataSource.DataSet.First;
i:=2;
while not dbgrid1.DataSource.DataSet.Eof do
begin
//处理一行
curRow:=0;
for j:=0 to dbgrid1.Columns.Count-1 do
begin
Sheet1.cells[i,curRow+1]:=trim(dbgrid1.Fields[j].DisplayText) ;
inc(curRow);
end;
i:=i+1;
dbgrid1.DataSource.DataSet.Next;
end;
XLApp.Visible:=true;在uses中我也加入了comobj,可还是提示我的“不支持此接口”的提示!
我用的系统为win2003、Excel2003,sql2000sp3
Sheet没有创建, 你只有创建eclApp, WorkBook,但没有Sheet.使用Excel还有其它的一起地方要注意的。