标题:vfp控制EXCEL时,股票数据导入DBF程序无法完成时间的正确读取
取消只看楼主
seasoners
Rank: 1
等 级:新手上路
帖 子:19
专家分:9
注 册:2013-12-15
结帖率:0
已结贴  问题点数:20 回复次数:2 
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
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.139283 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved