编程论坛
注册
登录
编程论坛
→
VFP论坛
xls记录数统计
liujc73
发布于 2020-12-10 18:31, 2502 次点击
一个目录下有若干xls表,能否用vfp统计出来这个目录下每个表的记录数?
每个表就一个sheet1,要求一xls的名称为输出结果:如:
xxxxx.xls,100
yyyyy.xls,20
谢谢!
8 回复
#2
sdta
2020-12-10 19:26
当前工作表中除第一行外的总行数
oExcel.ActiveSheet.UsedRange.Rows.Count - 1
#3
wengjl
2020-12-11 14:35
第一步:将目录下的EXCEL文档名称读入到一个DBF表中。
第二步:对这个DBF表进行循环,依次打开EXCEL文档,进行计数,并记录到这个DBF表的对应字段中。
第三步:浏览这个DBF表,就可以看到各个E表的记录数了。
#4
杂七杂八
2020-12-12 06:28
以下是引用
wengjl
在2020-12-11 14:35:11的发言:
第一步:将目录下的EXCEL文档名称读入到一个DBF表中。
第二步:对这个DBF表进行循环,依次打开EXCEL文档,进行计数,并记录到这个DBF表的对应字段中。
第三步:浏览这个DBF表,就可以看到各个E表的记录数了。
附上表,可以给出代码吗?谢谢!
只有本站会员才能查看附件,请
登录
#5
杂七杂八
2020-12-12 06:28
以下是引用
wengjl
在2020-12-11 14:35:11的发言:
第一步:将目录下的EXCEL文档名称读入到一个DBF表中。
第二步:对这个DBF表进行循环,依次打开EXCEL文档,进行计数,并记录到这个DBF表的对应字段中。
第三步:浏览这个DBF表,就可以看到各个E表的记录数了。
附上表,可以给出代码吗?谢谢!
只有本站会员才能查看附件,请
登录
#6
wengjl
2020-12-16 13:03
程序代码:
SET
SAFETY
off
SET
engi
70
CLOSE
DATABASES
PUBLIC
mypath
cCurrentProcedure
=
SYS(
16
,
1
)
nPathStart
=
AT(":",cCurrentProcedure)
-
1
nLenOfPath
=
RAT("\", cCurrentProcedure)
-
(nPathStart)
mypath
=
SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
SET
DEFAULT
TO
(mypath)
SELECT
0
USE
filenam alia bmk
ZAP
aa
=
ADIR(mm,
'
*.xlsx
'
)
myexcel
=
createobject(
'
excel.application
'
)
&&
创建一个对象
IF
!VARTYPE(myexcel)$"O.o"
&&&
如果用户的电脑上未装EXCEL软件,则结束运行。
MESSAGEBOX("建立EXCEL文件失败,请检查OFFICE是否正常!",
48
,"提醒:")
RETURN
ENDIF
*
--
---
FOR
nn
=
1
to
aa
M_File
=
mypath
+
'
\
'
+
mm(nn,
1
)
bookexcel
=
myexcel.workbooks.
open
(M_File)
&&
打开指定文件
myExcel.Worksheets(
1
).Activate
o_SheetName
=
myexcel.application.ActiveSheet.Name
o_UsedRange
=
bookexcel.worksheets(o_SheetName).UsedRange
o_rows
=
o_UsedRange.rows.
count
SELECT
bmk
APPEND BLANK
REPLACE
fname
with
mm(nn,
1
)
REPLACE
rs
with
o_rows
-
1
myexcel.activeworkbook.
save
myexcel.workbooks.
close
*
--
-进入下一个电子表格
ENDFOR
SELECT
bmk
myexcel.quit
CLOSE
DATABASES
RETURN
[此贴子已经被作者于2020-12-21 07:54编辑过]
#7
wengjl
2020-12-16 13:04
一个DBF表名称fname,二个字段fname rs
放在同一个目录中,可用了
#8
杂七杂八
2020-12-17 06:07
回复 7楼 wengjl
谢谢
成功运行!
#9
liujc73
2020-12-18 10:02
谢谢!
1