标题:跪求高手指点如何实现表格与图片的关联
只看楼主
暖洋洋99
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-3
结帖率:0
已结贴  问题点数:20 回复次数:5 
跪求高手指点如何实现表格与图片的关联
妹纸我有个excel表格,各种字段,其中一列是身份证号。另外有些以身份证号命名的照片,求高手指点如何将表中的身份证号与照片关联比对,判断是否有照片!不胜感激~
搜索更多相关主题的帖子: excel表格 不胜感激 身份证号 如何 
2012-12-03 15:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:7 
将EXCEL表中的数据导出到DBF中,然后用FILE()判断该身份证号码对应的照片是否存在。

坚守VFP最后的阵地
2012-12-03 15:45
暖洋洋99
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-3
得分:0 
照片是以身份证号命名的jpg格式,表中有一栏是身份证号,恳请大哥给个详细函数~
2012-12-03 16:08
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
        Visual FoxPro 9.0 语言参考
FILE( ) 函数
请参阅 示例
 全部折叠 全部展开
查找指定的文件。

 
FILE(cFileName [, nFlags])
 
 
参数
cFileName

指定要查找的文件名。cFileName 必须包含文件扩展名。可以在文件名中包含路径以便搜索非当前目录或驱动器下的文件。如果文件名中没包含路径,Visual FoxPro 会在默认目录下搜索该文件。如果在默认目录下没找到该文件,Visual FoxPro 会沿着 SET PATH 确定的 Visual FoxPro 路径搜索。
nFlags

指定当文件存在,但可能被标记为 Hidden 或 System 属性时,FILE( ) 返回值的类型。下表列示了 nFlags 的值。 nFlags 说明
0
 文件存在但被标记为 Hidden 或 System 属性时,FILE( ) 返回 False (.F.)。(默认)
 
1
 如果文件存在 FILE( ) 就返回 True (.T.),而不论其文件属性。将 nFlags 设置为 1,将允许检查隐藏或系统文件。
 

返回值
逻辑型数据类型。如果在磁盘上发现了指定的文件,FILE( ) 返回 True (.T.),否则,返回 False (.F.)。

说明
可以使用 ADIR( ) 函数来获取文件的特定属性。

可以使用 CD 和 CHDIR 命令来切换隐藏文件和目录。

示例
下面示例显示了一个指出 Visual FoxPro 资源文件是否存在于 Visual FoxPro 启动目录下的信息。

复制程序代码
SET PATH TO HOME( )
CLEAR
IF FILE('foxuser.dbf')
   WAIT WINDOW 'Visual FoxPro 资源文件存在'
ELSE
   WAIT WINDOW 'Visual FoxPro 资源文件不存在'
ENDIF


[ 本帖最后由 sdta 于 2012-12-3 16:16 编辑 ]

坚守VFP最后的阵地
2012-12-03 16:15
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:7 
以下是引用暖洋洋99在2012-12-3 15:19:45的发言:

妹纸我有个excel表格,各种字段,其中一列是身份证号。另外有些以身份证号命名的照片,求高手指点如何将表中的身份证号与照片关联比对,判断是否有照片!不胜感激~

FOR I=1 TO RECCOUNT()
   IF !FILE(完整路径名+Sfzh+'.JPG') &&假设Sfzh是你表文件中身份证号的字段名
      ?Sfzh+'.JPG不存在!'
      ?  &&空一行
   ENDIF
NEXT

2012-12-03 16:38
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
得分:7 
程序代码:
CREATE TABLE 匹配 (身份证号 c(18),是否有照片 l)
***打开表
lsfile =GETFILE("xls")
IF JUSTEXT(lsfile)<>"XLS"
    MESSAGEB("数据文件(.xls) 未选定","")
    RETU
ENDIF
****建立EXCEL对象,
myexcel=CREATEOBJECT('excel.application')      &&创建一个对象
myexcel.VISIBLE=.F.&&不可见
bookexcel=myexcel.workbooks.OPEN(lsfile)      &&打开指定文件
o_sheetname=myexcel.APPLICATION.activesheet.NAME    &&获取当前激活工作表的名称
usedrange =bookexcel.worksheets(o_sheetname).usedrange     &&返回工作表中可使用的区域,UsedRange表的属性
o_rows=usedrange.ROWS.COUNT    &&汇总行
o_cols=usedrange.COLUMNS.COUNT    &&汇总列
***判断身份证号在EXCEL表的哪一列
FOR jj=1 TO o_cols
    IF ALLTRIM(o_excel.cells(1,jj).TEXT)=="身份证号"
        EXIT
    ENDIF
ENDFOR
FOR ii=2 TO o_rows
    sfzhao= ALLTRIM(o_excel.cells(ii,jj).TEXT)&&身份证号
    iszp=.F.&&没有照片
    IF FILE(sfzhao+".jpg")&&如果有照片
        iszp=.T.
    ENDIF
    INSERT INTO 匹配 VALUES (sfzhao,iszp)&&保存到表里
ENDFOR
myexcel.workbooks.CLOSE
myexcel.QUIT
BROWSE 

坚持学习vfp,QQ:306805680
2012-12-03 16:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389387-1-1.html




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

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