114 12345
发新话题
打印

[高级] 输出数据到Excel示例代码-南客

输出数据到Excel示例代码-南客

复制内容到剪贴板
代码:
fc:c;
fy:=year; fm:=month; fd:=day;
gpname:=stkname;
<%
vstkname=ffl.vardata("gpname")
vc=ffl.vardata("fc")
vy=ffl.vardata("fy")
vm=ffl.vardata("fm")
vd=ffl.vardata("fd")

Set oExcel= CreateObject("excel.application")
oExcel.Visible = False  'Excel是否可视,若赋值为True则可视,但速度会慢得多
oExcel.Workbooks.Add
Set oSheet = oExcel.Workbooks(1).Worksheets("sheet1")
oSheet.Activate
Set oTitle = oSheet.Range("A1")
oTitle.Value = vstkname+" 收盘价"
for i=0 to ubound(vc)
  vdate=DateSerial(vy(i), vm(i), vd(i))
  oSheet.Cells(i+2,1).Value=vdate
  oSheet.Cells(i+2,2).Value=round(vc(i),2)
next

'设置标题的字体、字号等
oTitle.Font.Bold = -1
oTitle.Font.Size = 18
oTitle.Font.Name = "宋体"

'另存为“股票数据.xls”,注意要写出完全路径,路径不存在会出错
oSheet.SaveAs "e:\foxtrader_v3\user\股票数据.xls"  
oExcel.Quit  '退出Excel
Set oExcel = Nothing
%>

/////////

TOP

把上述代码改成如下试试效果如何,最好用K线数少的股票做实验,比如600249:
复制内容到剪贴板
代码:
fc:c;
fy:=year; fm:=month; fd:=day;
gpname:=stkname;
<%
vstkname=ffl.vardata("gpname")
vc=ffl.vardata("fc")
vy=ffl.vardata("fy")
vm=ffl.vardata("fm")
vd=ffl.vardata("fd")

Set oExcel= CreateObject("excel.application")
oExcel.Visible = True  'Excel是否可视,若赋值为True则可视,但速度会慢得多
oExcel.Workbooks.Add
Set oSheet = oExcel.Workbooks(1).Worksheets("sheet1")
oSheet.Activate
Set oTitle = oSheet.Range("A1")
oTitle.Value = vstkname+" 收盘价"
for i=0 to ubound(vc)
  vdate=DateSerial(vy(i), vm(i), vd(i))
  oSheet.Cells(i+2,1).Value=vdate
  oSheet.Cells(i+2,2).Value=round(vc(i),2)
next

Set oExcel = Nothing
%>

/////////////
公式附件如下:
附件: 您所在的用户组无法下载或查看附件

TOP

请教一下这个函数怎么使用啊?

TOP

hx817老师:
     通过老师的公式可将"飞狐"数据输出到EXCEL,请教老师有无方法将另一个EXCEL的数据输入到"飞狐"里呢?例如:
复制内容到剪贴板
代码:
名称2004-3-9        涨跌幅%        主力资金(万元)        主力仓位(万股)        仓位比率‰        当日强度%        智能体检(分)
[ 600028 ] 中国石化        2.97        18127.186        3472.641        12.4        21.079        13.407
[ 600019 ] 宝钢股份        2.23        10389.3353        1413.515        7.53        20.0493        18.755
以上粘贴显得另乱,实际是EXCEL的格式.

TOP

引用:
tang2008 于 2004-3-11 12:16 PM 写道:
请教一下这个函数怎么使用啊?
哪个函数?

TOP

引用:
闲人 于 2004-3-12 01:54 AM 写道:
hx817老师:
     通过老师的公式可将"飞狐"数据输出到EXCEL,请教老师有无方法将另一个EXCEL的数据输入到"飞狐"里呢?例如:
[code]
名称2004-3-9        涨跌幅%        主力资金(万元)        主力仓位(万股)        仓位 ...
可以呀,VBS代码中,比如写成如下:
oSheet.Cells(3,2).Value="测试"
表示,在Excel表格的第3行、第2列写入“测试”两个字

反之,如果写成下面的代码:
x=oSheet.Cells(3,2).Value
则表示,取出第3行、第2列的数据,并赋值到变量x之中。

至于如何完全取出,则需要通过数组和循环来完成。

TOP

如果要写完整的代码,请上传相应的Excel电子表,我抽空试试

TOP

谢谢南客老师

我想将电子表格上传到老师的信箱里,请告诉邮箱地址。

TOP

上传EXCEEL

南客老师:
       现将电子表格上传。
       说明:”体检“体现股价的位置,借助判断底 顶。
                 “仓位”体现主力真实的买卖情况。
       我想将表格中的数据做成副图指标,请南客老师多多费心。谢谢!
不支持“扩展名”表格的上传。怎样才能上传呢?

TOP

将 excel 文件压缩一下,传到论坛来

TOP

上传EXCEEL

附件: 您所在的用户组无法下载或查看附件

TOP

表格上传

已上传到论坛老师《给发布公式狐友们的一个建议》里面。请老师多多费心。谢谢!!!

TOP

表格已经看过,这样的表格不大规范,横向、纵向都有日期(横向3月2日至3月10日?),要用公式来处理不是不可以,但太麻烦了。

TOP

表格说明

南客老师:
       对不起,我将三张表格合并在一起了,其实它们都是独立的表格。若老师能帮我,我再重新上传。好吗?

TOP

重新上传数据

附件: 您所在的用户组无法下载或查看附件

TOP

重新上传数据2

附件: 您所在的用户组无法下载或查看附件

TOP

重新上传数据3

附件: 您所在的用户组无法下载或查看附件

TOP

数据处理

因文件太大不能上传,删除了一部分。请老师下载完后将文件删除。以免其他朋友好奇化时间去下载。谢谢老师!!!

TOP

重新上传数据

南客老师:
      我已重新将数据发到原来的论坛里去了。期盼着老师的好消息。谢谢!!!

TOP

日期不太好判断,只有月、日信息?

读取方法,要按照数据库的方法,速度才会比较快,读取的方法,代码大致参考如下(可根据自己的需要,进一步完善):
复制内容到剪贴板
代码:
fc:c;
fy:=year; fm:=month; fd:=day;
gpdm:=stklabel;
<%
gpdm=ffl.vardata("gpdm")
vc=ffl.vardata("fc")
vy=ffl.vardata("fy")
vm=ffl.vardata("fm")
vd=ffl.vardata("fd")
  Dim Conn, Rs, Driver, DBPath
  On Error Resume Next
  Set Conn = CreateObject("ADODB.Connection")
  Driver = "Driver={Microsoft Excel Driver (*.xls)};"
  DBPath = "DBQ=E:\FoxTrader_V3\各股主力仓位数据.xls"  
  Conn.Open Driver & "ReadOnly=0;" & DBPath
  Set Rs = CreateObject("ADODB.Recordset")
  SQL=("SELECT * FROM [sheet1$] where 名称 Like '%" & gpdm & "%'")  '只返回当前股票的数据
  Rs.Open SQL, Conn, 3, 2
  if Err.Number = 0 then
    x="仓位(2-19)=" & Rs(1).value
    x=x & ",仓位(2-20)=" &  Rs(2).value
    x=x & ",仓位(2-21)=" & Rs(3).value
    x=x & ",仓位(2-22)=" & Rs(4).value
    x=x & ",仓位(2-23)=" & Rs(5).value
    x=x & ",仓位(2-24)=" & Rs(6).value
   
    msgbox x, 0 ,GPDM & "仓位情况"  '显示结果
  end if
%>

TOP

注意这行代码中的路径,要改成自己的实际情况,否则会出错:
DBPath = "DBQ=E:\FoxTrader_V3\各股主力仓位数据.xls"

TOP

进一步请教老师

电子表格要放在什么路径才能让“飞狐”读取呢?
《DBPath=DBQ=E:\foxtrader_V3\各股主力仓位数据.xls"》又放在何处?如果在表格中再添加上年份,这样是否能跟主图上的K 线日期相对应呢?还望老师进一步指教。谢谢!!!

TOP

放在什么位置都可以,只要在公式代码中,指明正确的位置就行了。
加上年份,可以跟K线相对应。

TOP

还要麻烦老师

引用:
闲人 于 2004-3-14 00:42 写道:
电子表格要放在什么路径才能让“飞狐”读取呢?
《DBPath=DBQ=E:\foxtrader_V3\各股主力仓位数据.xls"》又放在何处?如果在表格中再添加上年份,这样是否能跟主图上的K 线日期相对应呢?还望老师进一步指教 ...
这一点我已明白。问题是我想将“各股主力仓位数据”做成象成交量柱型图在副图中显示并且要和K线相对应。我有2001年到现在的数据而且今后每天还要添加。恳请老师多多费心。万分感谢!!!

TOP

 114 12345
发新话题
报警岗亭