我在导入数据到Excel时发现为(00123)的字段在Excel中显示的是(123),但要求不能这样.函数如下:Procedure TDoMakeJSD_DXForm.PrintToExcel(dataset:Tdataset);
var
i:integer;
s:Tstringlist;
tmp:string;
filename:string;
begin
if not dataset.Active then
begin
MessageDlg('请打开数据!',mtinformation,[mbYes],0);
exit;
end; s:=tstringlist.create; dataset.DisableControls;
Screen.Cursor:=crHourGlass;
try
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+dataset.fields[i].DisplayLabel+#9;(问题在这里,应该加入什么符号) s.add(tmp); dataset.first;
while not dataset.eof do
begin
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+(dataset.fields[i].asstring)+#9;
s.Add(tmp); dataset.next;
end;
Randomize;
filename := 'D:\'+ FloatToStr(Random(100000000))+'.xls';
SaveDialog1.filename := filename;
s.savetofile(filename); MessageDlg('导出数据成功!',mtinformation,[mbYes],0); finally
s.free;
dataset.EnableControls;
Screen.Cursor:=crArrow;
end;
end;
var
i:integer;
s:Tstringlist;
tmp:string;
filename:string;
begin
if not dataset.Active then
begin
MessageDlg('请打开数据!',mtinformation,[mbYes],0);
exit;
end; s:=tstringlist.create; dataset.DisableControls;
Screen.Cursor:=crHourGlass;
try
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+dataset.fields[i].DisplayLabel+#9;(问题在这里,应该加入什么符号) s.add(tmp); dataset.first;
while not dataset.eof do
begin
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+(dataset.fields[i].asstring)+#9;
s.Add(tmp); dataset.next;
end;
Randomize;
filename := 'D:\'+ FloatToStr(Random(100000000))+'.xls';
SaveDialog1.filename := filename;
s.savetofile(filename); MessageDlg('导出数据成功!',mtinformation,[mbYes],0); finally
s.free;
dataset.EnableControls;
Screen.Cursor:=crArrow;
end;
end;
如原来写的是:tmp:=tmp+dataset.fields[i].DisplayLabel+#9;
现改成:tmp:=tmp+''''+dataset.fields[i].DisplayLabel+#9;
好象就是这样的。你需要哪列是文本,可以把1改成哪列