怎么没有高手回答,换个标题试一试(100分)

  • 主题发起人 主题发起人 lijucheng
  • 开始时间 开始时间
L

lijucheng

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
请看下面的程序:
Try
ExcelFile := CreateOleObject(Excel_ID);
ExcelFile.Visible := true;
ExcelFile.WorkBooks.Add;
Except
Application.MessageBox(PChar('启动 Excel 时发生错误!'#13'无法将资料投入Excel!'),PChar('警告'),MB_ICONWARNING+MB_OK);
exit;
End;

ExcelFile.Cells[1,1].value := s_title;

With Dataset do begin
First
// 列印选取的栏位名称:
for i := 0 to High(PField) do ExcelFile.Cells[3,i+1].value := Fields[PField].DisplayLabel;
// 列印出所选栏位的所有记录:
for i := 0 to RecordCount - 1 do begin
for j := 0 to High(PField) do
ExcelFile.Cells[i+4,j+1].value := Fields[PField[j]].asstring;
Next;
end;
end;
目的是将表格数据写入EXCEL文件,一般情况都没问题,但如果某一列字段为字符型数据且字段长度有
十多位的情况下(如:'12234456785554433323')在EXCEL 中显示为1.22345E+19,不知如何解决,
应该设置EXCEL中的单元格格式,但不知如何做,或其他方法,请高手指点.在线等待.

 
这个问题我也遇到过,其实很简单。
你有没有从SQL SERVER中导出数据到EXCEL中过
如果是从SQL SERVER中导出来的数据不管它有多少们都不会出瑞上面的情况,原因就是它在
每个字段前加了个单引号而这个单引号在显示数据时是看不到的,所以一切就解决了

我已经用过了效果还很不错。
 
lijianbao32 :我用的就是sql server 的数据
 
但是你用DELPHI导出时就会出现你说的错误,如果你用ODBC直接导的话就不会了
你可试一下在相应字段上加上单引号,那样就可以解决你的问题了
 
在相应字段上加上单引号后在EXCEL中总是有单引号,虽然看不见,总不是那么回事,
我觉得最好的方法应该是在程序中控制EXCEL的单元格属性.
 
当然你如果对数据要求那么高的话只能去再找一下有没有方法解决了
我这边只要这样就行了
到时找到了记得也通知我一声。
 
lijianbao32:我分配50分给你,不知能否收到。请原谅。
 
lijianbao32:对不起,我总共只有187分,没注意一下需要100分,等下次吧.谢谢你了!
 
将那个列设为字符即可!
 
smj_9547:
不行,我本来就是字符型的。
 
Range.NumberFormat := '@';设置格式为文本。
Range.Value := ADODataSet1.Fields.AsString ;
 
realLearning:
你好!给你加分,表示感谢!不知能否收到.
但'NumberFormat := '@'',我在EXCEL中怎么查不到呢?
 
后退
顶部