向EXCEL里面送入身份証號碼會出現(430523198206113112)變成(4.30523E+17)!(5分)

  • 主题发起人 主题发起人 hurryman
  • 开始时间 开始时间
H

hurryman

Unregistered / Unconfirmed
GUEST, unregistred user!
msexcel.cells(7,2):=edit5.Text ;//身份証號碼
向EXCEL里面送入身份証號碼會出現(430523198206113112)變成(4.30523E+17)!
 
改为msexcel.cells(7,2):='''''+edit5.text; //加个'号通知EXCEL这是文本
 
謝謝,可我照你的寫后,句子有錯,
加這個逗號的問題,逗號都一樣,
我這樣寫也不行啊.
msexcel.cells(7,2):=#39+'''+#39+edit5.text;
 
把EXCEL的单元格设为文本类型的。
 
//A: TExcelApplication;
//aSheet:variant;
//asheet:=A.Worksheets.Item[1];

asheet.cells[7,2]:=''''+edit5.text;
一定行
 
var msexcel:olevariant ;
i,j:integer ;
temp ,fname :string;
wbook,wsheet:olevariant ;
workbook,worksheet :olevariant ;
day,month,year :word ;
begin
msexcel :=createoleobject('excel.application');
msexcel.visible :=true ;
workbook :=msexcel.application ;
workbook.workbooks.open('c:/2.xls');
worksheet :=workbook.activesheet ;
msexcel.cells(1,3):=edit6.Text ;
msexcel.cells(2,3):=edit7.text ;
msexcel.cells(2,4):=edit15.Text ;
msexcel.cells(2,5):=edit16.Text ;
msexcel.cells(3,2):=edit8.Text ;
msexcel.cells(4,3):=edit1.Text ;
msexcel.cells(4,6):=combobox1.Text ;
msexcel.cells(4,8):=edit2.Text ;
msexcel.cells(6,2):=edit3.Text ;
msexcel.cells(6,3):=edit4.Text ;
**********************************************
msexcel.cells(7,2):=''''+edit5.Text ;
**********************************************
還是不可以啊,不知到錯在哪里?
 
是单元格的宽度太窄。
 
to
请注意是:msexcel.cells(7,2):='''''+edit5.text;
要5个单引号!!!!
 
msexcel.NumberFormat:='@';
 
5个单引号什么意思啊,怎么会能编译通过呢?不行。
 
那是EXCEL默认把身份证号作为数字来处理,成了科学计数
你要把单元格的格式设成字符,即
msexcel.Range[Row1,Col1,Row2,Col2].NumberFormat:='@';
 
delphiland 说的没错
 
我同意楼上老兄的意见
 

Similar threads

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