标题:vfp控制EXCEL时,股票数据导入DBF程序无法完成时间的正确读取
只看楼主
seasoners
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2013-12-15
结帖率:0
已结贴  问题点数:20 回复次数:5 
vfp控制EXCEL时,股票数据导入DBF程序无法完成时间的正确读取
oExcel.Selection.NumberFormatlocal="h:mm:ss"
具体数据见以下下载的EXCEL表中的第一列,本来是时间数据
在用VFP语句读取时,怎么也不能正确获得时间数据,不知为何,请教各位大侠。
http://market.finance.
搜索更多相关主题的帖子: EXCEL 
2013-12-15 20:12
seasoners
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2013-12-15
得分:0 
clear
lcsys16 = Sys(16)
lcprogram = Substr(lcsys16, At(":", lcsys16) - 1)
sys_maindir=Left(lcprogram, Rat("\", lcprogram))
Set Default To (sys_maindir)
Select 1
Use sys_maindir+"sz000001_成交明细_2011-01-04.Dbf"

lcFileName="sz000045_成交明细_2011-01-04.xls"
oExcel=Createobject('Excel.application')
oExcel.Workbooks.Open('&lcFileName') &&打开文件

Rs=oExcel.SHEETS(1).UsedRange.Rows.Count &&有数据的总行数
Cs=oExcel.SHEETS(1).UsedRange.Columns.Count &&有数据的总列数

oExcel.ActiveSheet.UsedRange.Select              &&已用的区域
oExcel.Selection.NumberFormatlocal="h:mm:ss"
oExcel.ActiveWorkbook.SaveAs("J2.xls")
oExcel.ActiveWorkbook.saved=.T. &&不保存当前EXCEL表
oExcel.Workbooks.Close &&关闭表
lcFileName="J2.xls"
oExcel.Workbooks.Open('&lcFileName')
If Rs>=2 Then
    &&oExcel.activesheet.columns(1).select
    &&oExcel.Selection.NumberFormatLocal="HH:MM:SS" &&设置单元格属性

    For i=2 To 10

        sys_date=oExcel.Cells(i,1).Value
*Append Blank
         ?sys_date
Wait Windows sys_date Nowait

*Replace 成交时间 With sys_date

    Endfor
Endif

oExcel.DisplayAlerts=.F.
oExcel.ActiveWorkbook.saved=.T. &&不保存当前EXCEL表
oExcel.Workbooks.Close &&关闭表
oExcel.Quit &&退出EXCEL
Release oExcel &&释放变量
RETURN
2013-12-15 20:15
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:10 
楼主再描述清楚一点,有什么问题,贴个图看看。

相互学习,互相交流,共同提高。
2013-12-15 20:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
转换的时间数据只有 : :

坚守VFP最后的阵地
2013-12-15 21:10
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
实在不行先保存为文本文件,再转换DBF文件

坚守VFP最后的阵地
2013-12-15 22:40
seasoners
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2013-12-15
得分:0 
问题解决了,主要是VFP读取EXCEL自定义格式日期时间时,取得的是数字,把数字经过*24,*60等处理,在按照VFP格式要求,用到ctot(D_STR)函数转换一下就可以了。
2013-12-16 19:40



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




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

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