怎么将excel文件转换成.txt文件,有什么软件可以实现这种办法,分数不是问题,在线等待

yezi1978 2003-08-15 02:04:18
怎么将excel文件转换成.txt文件,有什么软件可以实现这种办法,分数不是问题,在线等待
...全文
5607 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzk99 2003-08-29
  • 打赏
  • 举报
回复
这是本人的一段从EXCEL读取数据的例程,复过来时汉字不正常,也费事再改了,你可拷到WORD下看看,如果还没找到其他方法,给我发电邮吧!!
parameters sfile,sbegincode,operfields,sgdsname,sbelong
BEGINCOLUMN=2
#define CL "²Ä"

OleApp=CREATEOBJECT("Excel.Application") && ´ò¿ªEXCEL£¬²úÉúOLE¶ÔÏó
OleApp.Application.Caption="VFP½»»¥±à³Ì" && Ö¸¶¨±êÌâÀ¸Ãû³Æ
*OleApp.Application.Visible=.T. && ÖÃEXCEL¿É¼û
OleApp.Application.WorkBooks.Open(sfile) && ´ò¿ªEXCEL¹¤×÷²¾

WITH OleApp.Application
i=1
do while .t.
bb=type('.sheets(i).name')
if bb='U'
exit
endif
err=.f.
enddata=.f.
aa=.sheets(i).name
.sheets(i).select && Ñ¡Ôñ±íµ¥
wait windows "ÕýÔÚת»»EXCEL±íµÄ"+aa nowait

&& ¼ì²éÊý¾ÝÊÇ·ñºÏÀí
getvalue=.ActiveSheet.cells(4,2).value
if type('getvalue')<>'N'
messagebox("ת»»:"+alltrim(aa)+"Êý¾Ý³ö´í",0)
i=i+1
loop
endif
if used('subject')=.f.
use subject in 0
endif
select subject
go top
locate for alltrim(subname)=alltrim(aa)
if eof() &&ÈôÏîÄ¿±íûÓÐÔò¼ÓÈë
&&È¡ÏîÄ¿±àºÅ
select max(subcode) from subject into array mysubject where left(allt(subcode),3)=allt(sbegincode)
if type('mysubject')='U'
newsubcode=alltrim(sbegincode)+"0001#"
else
ss=substr(alltrim(mysubject(1,1)),len(alltrim(sbegincode))+1,len(alltrim(mysubject(1,1)))-len(alltrim(sbegincode)))
tt=val(ss)
uu=10000+tt+1
newsubcode=allt(sbegincode)+right(allt(str(uu)),4)+"#"
release mysubject
endif
select max(order) from subject into array mydata
if type('mydata')='U'
sorder=1
else
sorder=mydata(1,1)+1
release mydata
endif

insert into subject (order,subcode,subname,gdsname,byqmainstuff,byqsubstuff,dymainstuff,dysubstuff,;
gymainstuff,gysubstuff) values ;
(sorder,newsubcode,aa,sgdsname,'0','0','0','0','0','0')
repl &operfields with '1'
else
if &operfields='1'
messagebox("ÏîÄ¿±íÒÑÓиÃ:"+aa+"²ÄÁÏ¿ÆÄ¿")
i=i+1
loop
else
repl &operfields with '1'
newsubcode=subcode
endif
endif
first=1
for j=4 to 300
for k=2 to 10
getvalue=.ActiveSheet.cells(j,k).value
if k=2
if type('getvalue')<>'N'.and.first=1
messagebox("ת»»:"+alltrim(aa)+"Êý¾Ý³ö´í",0)
first=first+1
err=.t.
exit
endif
if type('getvalue')<>'N'.and.first>1
enddata=.t.
exit
endif
endif
first=first+1
IF k=BEGINCOLUMN && ÐòºÅ
sorder=chtype(getvalue,'N')
endif
if k=BEGINCOLUMN+1 && Ãû³Æ
sname=chtype(getvalue,'C')
endif
if k=BEGINCOLUMN+2 && ¹æ¸ñ
sgk=chtype(getvalue,'C')
sname=alltrim(sname)+alltrim(sgk)
endif
if k=BEGINCOLUMN+3 && µ¥Î»
sunit=chtype(getvalue,'C')
endif
if k=BEGINCOLUMN+4 && ÊýÁ¿
samount=chtype(getvalue,'N')
endif
if k=BEGINCOLUMN+5 && µ¥¼Û
sunitprice=chtype(getvalue,'N')
endif
if k=BEGINCOLUMN+6 && ½ð¶î
scost=chtype(getvalue,'N')
endif
endfor
if err=.f. .and. enddata=.f.

&& ²ÄÁϹéÀà
select code,name from stuff where alltrim(name)=alltrim(sname) into array mystuff
if type('mystuff')='U'
* select max(order) from stuff where substr(alltrim(belong),val(sbelong),1)='1' into array myorder
select max(order) from stuff into array myorder
if type('myorder')='U'
myneworder=1
scl=CL+"0001#"
else
order2=myorder(1,1)+1
myneworder=order2
if order2<10
scl=CL+"000"+alltrim(str(order2))+"#"
endif
if order2>=10 .and.order<100
scl=CL+"00"+alltrim(str(order2))+"#"
endif
if order2>=100.and.order<1000
scl=CL+"0"+alltrim(str(order2))+"#"
endif
if order2>=1000.and.order<10000
scl=CL+alltrim(str(order2))+"#"
endif

endif

insert into stuff (order,code,name,unit,amount,unitprice,settlementprice,checkandaccept,belong,dac) values ;
(myneworder,scl,sname,sunit,0,sunitprice,0,0,"000000","")
else
scl=mystuff(1,1)
release mystuff
endif

&& ½«Êý¾ÝдÈë²ÄÁϱí
insert into &operfields (subcode,order,zlbh,name,unit,amount,unitprice,cost) values ;
(newsubcode,sorder,scl,sname,sunit,samount,sunitprice,scost)

select stuff
go top
locate for alltrim(code)=alltrim(scl)
if eof()
messagebox("È¡²ÄÁÏ:"+scl+"³ö´í",0,"³ö´í")
else
aa=int(val(alltrim(sbelong)))
if aa=1
sflag='1'+right(alltrim(belong),len(alltrim(belong))-1)
else
if len(alltrim(belong))=aa
sflag=left(belong,aa-1)+'1'
else
sflag=left(belong,aa-1)+'1'+right(alltrim(belong),len(alltrim(belong))-aa)
endif
endif

repl belong with sflag
endif
endif

if err.or.enddata
exit
endif
endfor
i=i+1
enddo

* .ActiveWindow.SelectedSheets.Delete
* .ActiveWorkbook.Save
ENDWITH
OleApp.Quit && ¹Ø±ÕEXCEL£¬±£´æ¸üкóµÄ¹¤×÷²¾Îļþ
release oleapp
if used('subject')
select subject
use
endif
select &operfields
use
messagebox("Finish!!")
return

chjpeng 2003-08-15
  • 打赏
  • 举报
回复
1.http://expert.csdn.net/Expert/topic/2114/2114659.xml?temp=.8286859
讀出excel文檔

2.通過vfp匯出txt文檔(可以隨意select字段)
yezi1978 2003-08-15
  • 打赏
  • 举报
回复
noproblem12(采姑娘的小蘑菇) (用另存的方式会保留许多字段,而我只需要其中的二个或三个字段,且另存的方式只能手工操作,想通过一个小程序来实现自动需要的字段,对于VFP这个环境我不太熟悉,请给我编一个例子,可以再线回复,也可发到我的邮箱ZB19780401@sulo.com)
everyday88 2003-08-15
  • 打赏
  • 举报
回复
在Excel中,选文件/另存为/保存类型选文本文件
szjhxu 2003-08-15
  • 打赏
  • 举报
回复
用另存的方法最简单。
noproblem12 2003-08-15
  • 打赏
  • 举报
回复
呵呵,1楼的主意好
noproblem12 2003-08-15
  • 打赏
  • 举报
回复
自己用VFP编一个,

应该容易实现
magnetmoon 2003-08-15
  • 打赏
  • 举报
回复
另存新檔

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧