文本转excel的问题,急!(50分)

  • 主题发起人 主题发起人 yaorong
  • 开始时间 开始时间
Y

yaorong

Unregistered / Unconfirmed
GUEST, unregistred user!
各位,我用以下代码来实现文本转excel<br>procedure TForm1.RzButton1Click(Sender: TObject);<br>var<br> &nbsp;book,app:Variant;<br>begin<br> &nbsp; app := CreateOleObject('Excel.Application');<br> &nbsp; try<br> &nbsp; &nbsp; &nbsp;app.WorkBooks.OpenText('c:/教职工测试文本.txt',EmptyParam,1,{xlDelimited}1,EmptyParam,False,False,false,false,false,true,',',VarArrayOf([VarArrayOf([1, 2]), VarArrayOf([2, 2]), VarArrayOf([3, 2]), VarArrayOf([4, 2]), VarArrayOf([5, 2]), VarArrayOf([6, 2]), VarArrayOf([7, 1])]));<br> &nbsp; &nbsp; &nbsp;app.visible:=false; //或者true;<br> &nbsp; &nbsp; &nbsp;book:=app.Workbooks['教职工测试文本.txt']; <br> &nbsp; &nbsp; &nbsp;deleteFile('c:/教职工测试文本.xls');<br> &nbsp; &nbsp; &nbsp;book.SaveAs('c:/教职工测试文本.xls',$0000002B);<br> &nbsp; finally<br> &nbsp; &nbsp; &nbsp;app.quit;<br> &nbsp; end;<br>end;<br><br>文本中用到一个教师身份证的字段,比如值是142733198311130924,<br>那么转成excel后发现表格中不是字符型的,而是数字型的1.427E+17,<br>而数值小的值比如邮编210000,就能直接转化成字符型的,我现在要求<br>所有的数字都转化成字符型的,恳请高手帮忙啊
 
在转化中对于字符型数字加入前导符“'”就可以了。
 
设置excel单元格格式为文本<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sheet.Cells[iRow,i+1].NumberFormatLocal:='@';
 
这类问题,在excel中打开宏录制 ,然后操作excel,达到目标后,打开宏看,把需要的直接copy到程序中,当然语法要更改,比如 [] 要换成()等
 
用了下Johnny_du的方法好象不行,在文本中将身份证值改为'142733198311130924<br>转化的结果是字符型的,但是前面同样多了个'<br>各位大侠再帮小弟看看啊~~~~
 
............我都告诉你了 修改单元格格式!!!
 
唉!在大富翁回答问题两天了,发现很多人。。。。。。<br>唉!没耐心了! <br>走了!
 
什么话.........<br><br>不会改? OK 问啊....<br><br>procedure TForm1.RzButton1Click(Sender: TObject);<br>var<br> &nbsp;book,app:Variant;<br>begin<br> &nbsp; app := CreateOleObject('Excel.Application');<br> &nbsp; try<br> &nbsp; &nbsp; &nbsp;app.WorkBooks.OpenText('c:/教职工测试文本.txt',EmptyParam,1,{xlDelimited}1,EmptyParam,False,False,false,false,false,true,',',VarArrayOf([VarArrayOf([1, 2]), VarArrayOf([2, 2]), VarArrayOf([3, 2]), VarArrayOf([4, 2]), VarArrayOf([5, 2]), VarArrayOf([6, 2]), VarArrayOf([7, 1])]));<br> &nbsp; &nbsp; &nbsp;app.visible:=false; //或者true;<br> &nbsp; &nbsp; &nbsp;book:=app.Workbooks['教职工测试文本.txt']; <br> &nbsp; &nbsp; &nbsp;for i:=1 to book.activesheet.UsedRange.Columns.Count do<br> &nbsp; &nbsp; &nbsp; &nbsp;book.activesheet.Columns.NumberFormatLocal:='0';<br> &nbsp; &nbsp; &nbsp;deleteFile('c:/教职工测试文本.xls');<br> &nbsp; &nbsp; &nbsp;book.SaveAs('c:/教职工测试文本.xls',$0000002B);<br> &nbsp; finally<br> &nbsp; &nbsp; &nbsp;app.quit;<br> &nbsp; end;<br>end;
 
to hs-kill <br>我是回答问题的 不是问问题的,晕!我看见你简单而正确的回答正是我要回答的,但楼主就是置之不理。感同身受!<br>所以。。。。。。
 
-_-!............sorry 玩了一天游戏.......眼花了 哈哈哈哈~~~~sorry啦~
 
后退
顶部