delphi导入到EXCEL文件的数据怎么只能显示11位,多了就被截去? ( 积分: 50 )

  • 主题发起人 主题发起人 alisha
  • 开始时间 开始时间
A

alisha

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中通过创建OLE,把数据库中的数据导入到EXCEL中,数据过长怎么显示不全?
如:
原数据 导入后数据
35343454.23 35343454.23 正确
635343454.23 635343454.2 被截
8635343454.23 8635343454 被截

着急啊!!!!!
 
在程序中通过创建OLE,把数据库中的数据导入到EXCEL中,数据过长怎么显示不全?
如:
原数据 导入后数据
35343454.23 35343454.23 正确
635343454.23 635343454.2 被截
8635343454.23 8635343454 被截

着急啊!!!!!
 
ExcelWorksheet1.Cells.CopyFromRecordset(ADOQuery1.Recordset,ADOQuery1.RecordCount,ADOQuery1.Fields.Count);
它可以把数据库记录传入Excle,你可以参考一下,看有没有帮助
 
你不如把要导入的那个方格设为文本模式试试看看?
ExcelWorksheet.Cells.Item[Row,Col].NumberFormatLocal := '@';
 
我发现如果要显示的数据再长了,EXCEL将会以科学记数法的方式来显示,怎样才能控制,让它以普通形式显示呢?
 
导出时设置excel为文本的方式即可.
 
被截去数据的最大可能是格式长度问题,
格式最好用nvarchar。
 
to zahahui:
和数据库的数据类型无关啊,我做了测试,即使我在桌面上用ListView控件显示的内容,导入到Excel文件中,也是如此啊!
 
在你要导出的字段前面加一个 '
例如:'''+QUery1.fieldbyname('数字').asstring;
 
我估计那就程序的问题了。
我发一段程序给你吧,
是把数据导入excel,word,文本都可以的的
function Tform4.xlsORtxt(dataset:tdataset;filename:string):boolean;
var
f:textfile;
tempstr:string;
i,j:integer;
begin
try
dataset.DisableControls;
assignfile(f,filename);
rewrite(f);
dataset.First;
tempstr:='';
for i:=0 to dataset.FieldCount-1 do
tempstr:=tempstr+dataset.Fields.FieldName+#9;
writeln(f,tempstr);
for i:=0 to dataset.RecordCount-1 do
begin
tempstr:='';
for j:=0 to dataset.Fields.Count-1 do
tempstr:=tempstr+dataset.fields[j].AsString+#9;
writeln(f,tempstr);
dataset.Next;
end;
result:=true;
closefile(f);
except
closefile(f);
result:=false;
end;
end;

运用会吧。。
也贴一下吧。
with savedialog1 do
if execute then
begin
if xlsORtxt(adoquery1,filename) then

showmessage('ÒѾ­±£´æµ½'+filename+'')
else
showmessage('error');
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部