想要实现点击按钮1,ID1 姓名张三的信息保存到excel表中,点击按钮2,ID2姓名李四的信息保存到同一张表中同时不覆盖上一个信息(张三的) 求代码
解决方案 »
- 请教关键字is附近有错误问题
- Delphi2005中TTreeView节点Data挂的指针释放问题?
- 我用winsock写的网络通信程序,为什么客户端口不能复用,郁闷啊...
- 谁用delphi开发过语音卡方面的程序
- 招聘 Delphi 程序高手!(上海)
- 如何得到chm中的html的文件名?并得到文件内容?
- use一个单元,在implement前后有什么区别
- Paradox表的默认初始密码是什么?
- 唉!又得麻烦各位了,在线等待!急..........
- getfieldvalue(datacol)为什么不能通过编译
- delphi读取Clipboard中的Excel中的数据,急,速给分
- 怎么把动态添加的image存进list中,需要用的时候再调用,谢谢大神们
y:integer;
tsList:TStringList;
s,filename:string;
aSheet:variant;
xl:OleVariant;
savedialog:TSaveDialog;
begin
Result:=true;
try
xl:=CreateOleObject('Excel.Application');
xl.workbooks.add;
except
showmessage('无法调用excel');
exit;
end;
savedialog:=TSaveDialog.Create(nil);
savedialog.FileName:=sfilename;
savedialog.Filter:='Excel文件(*.xlsx)|*.xlsx';
if savedialog.Execute then
begin
if FileExists(savedialog.FileName) then
try
if messagebox(handle,'该文件已经存在是否要覆盖','提示',MB_YESNO)=IDYES then
deletefile(PChar(savedialog.FileName))
else
begin
xl.quit;
savedialog.Free;
Exit;
end;
except
xl.quit;
savedialog.Free;
screen.Cursor:=crDefault;
Exit;
end;
filename:=savedialog.FileName;
end;
savedialog.Free;
if filename='' then
begin
Result:=true;
xl.quit;
Exit;
end;
aSheet:=xl.WorkSheets.Item[1];
tsList:=TStringList.Create;
s:='';
for y:=0 to ADOQuery1.FieldCount-1 do
begin
s:=s+adoquery1.fields.fields[y].FieldName+#9;
Application.ProcessMessages;
end;
tsList.Add(s);
try
try
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
s:='';
for y:=0 to ADOQuery1.FieldCount-1 do
begin
s:=s+ADOQuery1.Fields[y].AsString+#9;
Application.ProcessMessages;
end;
tsList.Add(s);
ADOQuery1.Next;
end;
Clipboard.AsText:=tsList.Text;
except
Result:=false;
end;
finally
tsList.Free;
end;
aSheet.paste;
messagebox(handle,'数据导出完毕','提示',MB_YESNO);
try
if copy(FileName,length(FileName)-4,4)<>'.xlsx' then
FileName:=FileName+'.xlsx';
xl.ActiveWorkBook.SaveAs(FileName);
except
xl.quit;
screen.Cursor:=crDefault;
Exit;
end;
xl.visible:=false;
xl.quit;
xl:=UnAssigned;
end;