| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖, 2 人收藏
标题:VFP6.0导入EXCEL表的问题
只看楼主 加入收藏
seepass
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-2
结帖率:0
收藏(2)
已结贴  问题点数:20 回复次数:5 
VFP6.0导入EXCEL表的问题
最近想用VFP处理数据表,可是几年前用过的知识早就忘了,只能一边百度一边跟各位请教一下:

我新建了一个test.dbf表,做好了表头的字段名称和规则,并确保和我要Import的excel表一致。然后
use test
import from xxx.xls type xls

然后browse一看,数据进去了,但原本test.dbf的表头全部没了,变成了A,B,C这样的名称,原本在excel第一行的表头出现在了test.dbf的第一行数据里。

请问我应该如何做才能正确导入表头?或许Import只能是新建一个表,把我之前做好的空白表覆盖了?谢谢!
搜索更多相关主题的帖子: 如何 EXCEL 数据表 新建 
2013-06-02 23:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
程序代码:
SET DATE YMD
SET CENTURY ON
CDBFFILE = GETFILE("dbf")
IF EMPTY(CDBFFILE)
   RETURN
ENDIF
SELECT  *  FROM JUSTSTEM(CDBFFILE)  INTO CURSOR FOXTABLE
CEXCELFILE = PUTFILE("保存为(&N):",JUSTSTEM(CDBFFILE)+".xls","xls")
IF EMPTY(CEXCELFILE)
   RETURN
ENDIF
SELECT FOXTABLE
OEXCELSHEET = GETOBJECT("","Excel.Sheet")
IF  NOT TYPE("oExcelSheet") = "O"
   = MESSAGEBOX("Excel对象创建失败,程序将中止!",16,"Error")
   RETURN
ENDIF
OEXCEL = CREATEOBJECT("excel.application")
WITH OEXCEL
   .WORKBOOKS.ADD
   .SHEETS("Sheet1").SELECT
   .SHEETS("Sheet1").NAME = "sample"
   .VISIBLE = .F.
   .DISPLAYALERTS = .F.
   .CELLS.SELECT
   WITH .SELECTION.FONT
      .NAME = "宋体"
      .SIZE = 10
   ENDWITH
ENDWITH
DLINE_S = "A1:"+CHR(ASC("A")+FCOUNT()-1)+"1"
WITH OEXCEL
   .CELLS(1, 1).VALUE = "江北大学物理系人员花名册"
   .ACTIVESHEET.RANGE(DLINE_S).MERGE
   .ACTIVESHEET.ROWS(1).ROWHEIGHT = 40
   .RANGE(DLINE_S).SELECT
   WITH .SELECTION
      .FONT.NAME = "宋体"
      .FONT.SIZE = 24
      .FONT.BOLD = .T.
      .HORIZONTALALIGNMENT = 3
      .VERTICALALIGNMENT = 2
   ENDWITH
ENDWITH
ROW = 2
JLS = TRANSFORM(RECCOUNT()+ROW)
RECROW = TRANSFORM(ROW+1)
ROW_BROWSE = 30
OEXCEL.ACTIVESHEET.ROWS(ROW).ROWHEIGHT = 24
OEXCEL.ACTIVESHEET.ROWS('&RECROW.:&JLS').ROWHEIGHT=20
DLINE_S = "A"+TRANSFORM(ROW)+":"+CHR(ASC("A")+FCOUNT()-1)+TRANSFORM(ROW)
OEXCEL.ACTIVESHEET.RANGE(DLINE_S).BORDERS(3).LINESTYLE = 9
FOR I = 1 TO FCOUNT()
   OEXCEL.ACTIVESHEET.COLUMNS(I).COLUMNWIDTH = IIF(LEN(FIELD(I)) > FSIZE(FIELD(I)),LEN(FIELD(I)),FSIZE(FIELD(I)))
   OEXCEL.CELLS(ROW, I).VALUE = FIELD(I)
   OEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(ROW, I).HORIZONTALALIGNMENT = 3
ENDFOR
OEXCEL.RANGE(DLINE_S).SELECT
OEXCEL.SELECTION.BORDERS(-4107).LINESTYLE = 1
SCAN
   IF MOD(RECNO(),ROW_BROWSE) = 1
      DLINE_X = "A"+TRANSFORM(RECNO())+":"+CHR(ASC("A")+FCOUNT()-1)+TRANSFORM(RECNO())
   ENDIF
   FOR I = 1 TO FCOUNT("FOXTABLE")
      MFIELD = FIELD(I)
      WAIT WINDOW NOWAIT TRANSFORM(RECNO())+"/"+TRANSFORM(RECCOUNT())
      OEXCEL.CELLS(RECNO()+ROW,I).VALUE=&MFIELD
   ENDFOR
   IF MOD(RECNO(),ROW_BROWSE) = 0
      DLINE_X = "A"+TRANSFORM(RECNO()+ROW)+":"+CHR(ASC("A")+FCOUNT()-1)+TRANSFORM(RECNO()+ROW)
      OEXCEL.ACTIVESHEET.RANGE(DLINE_X).BORDERS(4).LINESTYLE = 9
   ENDIF
   IF RECNO() = RECCOUNT()
      DLINE_X = "A"+TRANSFORM(RECCOUNT()+ROW)+":"+CHR(ASC("A")+FCOUNT()-1)+TRANSFORM(RECCOUNT()+ROW)
      OEXCEL.ACTIVESHEET.RANGE(DLINE_X).BORDERS(4).LINESTYLE = 9
   ENDIF
ENDSCAN
OEXCEL.ACTIVESHEET.PAGESETUP.CENTERHORIZONTALLY = .T.
OEXCEL.ACTIVESHEET.PAGESETUP.PRINTTITLEROWS = "$1:$2"
OEXCEL.ACTIVESHEET.PAGESETUP.CENTERFOOTER="第"+"&P"+"页共"+"&N"+"页"
OEXCEL.VISIBLE = .T.
OEXCEL.ACTIVESHEET.PRINTPREVIEW
OEXCEL.VISIBLE = .F.
OEXCEL.ACTIVEWORKBOOK.SAVEAS(CEXCELFILE)
OEXCEL.WORKBOOKS.CLOSE
OEXCEL.QUIT
RELEASE OEXCEL
WAIT  CLEAR
= MESSAGEBOX("转换完毕!",64,"OK") 
试试

坚守VFP最后的阵地
2013-06-03 00:19
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
收藏
得分:7 
回复 楼主 seepass
我觉得用appe from a.xls type xls很好我一直用这个没出错
2013-06-03 15:21
seepass
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-2
收藏
得分:0 
用append from解决了。但用xls不好,表头会进去,另存成csv,默认第二行进入,解决。
2013-06-03 15:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
以下是引用seepass在2013-6-3 15:34:13的发言:

用append from解决了。但用xls不好,表头会进去,另存成csv,默认第二行进入,解决。
也可以先append from 然后
dele for recn()=1
pack
2013-06-03 16:24
y1751
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-22
收藏
得分:0 
删除了以后格式不对
2013-12-02 12:24
快速回复:VFP6.0导入EXCEL表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021545 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved