求助:一个关于读写excel的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 xxok2001
  • 开始时间 开始时间
X

xxok2001

Unregistered / Unconfirmed
GUEST, unregistred user!
var
ExcelApp: Variant;
i,j:integer;
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
adoquery1.First;
for i:=0 to adoquery1.recordcount-1 do
begin
for j:=0 to DBGrid1.Fieldcount-1 do
begin
ExcelApp.Cells[i+1,j+1].Value := dbgrid1.fields[j].AsString;
end;
end;

ExcelApp.saveAs( 'E:/Demo1.xls' );
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
end;

以上是源码,可另存时是有问题,提示方法saveAs不被支持。还请高手赐教,代码中存在的
问题和不规范的地方。谢谢
 
var
ExcelApp: Variant;
i,j:integer;
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
adoquery1.First;
for i:=0 to adoquery1.recordcount-1 do
begin
for j:=0 to DBGrid1.Fieldcount-1 do
begin
ExcelApp.Cells[i+1,j+1].Value := dbgrid1.fields[j].AsString;
end;
end;

ExcelApp.saveAs( 'E:/Demo1.xls' );
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
end;

以上是源码,可另存时是有问题,提示方法saveAs不被支持。还请高手赐教,代码中存在的
问题和不规范的地方。谢谢
 
自已去看。我的程序用的好好的。
procedure tpublic.saveAsExcel(dbgrid:tdbgrid;adodataset:tCUSTOMADOdataset);
var
fieldNum :integer;
i,j :integer;
exls,sheet :variant;
begin
try
exls:=createoleobject('Excel.application');
sheet:=createoleobject('excel.sheet');
except
application.MessageBox('ÇëÏÈ°²×°MICROSOFT EXCEL£¡','Ìáʾ',mb_ok+mb_iconinformation);
Exit;
end;
sheet:=exls.workBooks.Add;
with adodataset do
begin
DisableControls;
fieldNum:=dbgrid.FieldCount;
for i:=1 to fieldNum do
begin
exls.Cells[1,i].Value:=dbgrid.Columns[i-1].Title.Caption;
//exls.Cells[1,i].value:=Fields[i-1].FieldName;
end;
First;
i:=2;
while not Eof do
begin
for j:=1 to fieldNum do
begin
exls.Cells[i,j]:=Fields[j-1].AsString;
end;
Next;
i:=i+1;
end;
EnableControls;
exls.Visible:=true;
end;
end;
 
您的代码中没有存到某个具体的excel文件的代码啊
 
具体该怎么办还请 高手多指教啊!
 
ExcelApp.saveAs( 'E:/Demo1.xls' );
改为
ExcelApp.WorkBooks[1].saveAs( 'E:/Demo1.xls' );
ExcelApp相当于是excel程序,WorkBooks即工作薄,WorkSheets是工作表。你要保存的是工作薄。
 
谢谢!问题解决
 

Similar threads

I
回复
0
查看
547
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
763
import
I
后退
顶部