分享

VFP下的SQL和EXCEL技术 1

 阔儿妈妈 2010-09-17
select query1

 

if not file(ExcelFile)

  export to (ExcelFile) type xls

endif

excel.workbooks.open(ExcelFile)

o=excel.activeworkbook.activesheet &&用对象代替这么长的一串字

o.cells(1,1).value=ReportTitle

*

* 第一行是标题,故从第二行开始

*

scan for recno()>1 &&每一行

  '正在将数据转换到 Excel 表格中…',recno()

  for i=1 to fcount() &&每一列

    fld=field(i)

    if type(fld)='C'&&如果字段太宽,Excel可能不能正确接受数据

      o.cells(recno()+3,i).value=trim(&fld)

    else

      o.cells(recno()+3,i).value=&fld

    endif

  endfor

endscan

o.cells(1,1).select

excel.ActiveWindow.windowstate=2

excel.ActiveWorkbook.save()

excel.visible=.t.

clear

startTime=time()

set cursor off

*

* 等待 Excel 处理完毕后再继续

*

do while .t.

  @1,4 say '已启动后台 Excel 表格处理程序,处理中…'

  @2,4 say 'Ctrl+End 继续处理…'

  @4,4 say '开始时间:'

  starttime

  @5,4 say '现在时间:'

  time()

  &&VFP会在此等待,除非你从 EXCEL中退出或按下 Ctrl+End键

  if inkey(0.5)=23 or type('o.name')='U'

    exit

  endif

enddo

set cursor on

release o,excel

release FindWindow

'处理完毕…'

=inkey(0.5)

release windows WaitWin

end note

VFP调用EXCEL的补充方法

佳帆网站工作室 大文

下面是我使用 VFP CALL EXCEL的部分例子:

这是本人从书本上抄的片断和我的小小经验,可以让你很方便的在 VFP 中调用 EXCEL,所有的例程我都试验过。

用Visual Foxpro 设计用Excel表格的程序

利用OLE Automation 设计Excel 应用程序

Excel支持的对象说明:

(a) VBA 对象:

对象名称 意义

Application Excel应用程序对象

WorkBooks Excel活页薄对象

(b)所使用的Method

对象名称 Method 执行意义

Application Cells 设定或传回来某个网格的内容

Range 传回或设定某一个范围的网格

Charts 传回或设定活页簿的单一统计表

Quit 结束 Excel Application

Save 激活存储文件对话框

WorkBooks Add 新增一个工作簿

Charts Add 新增一个统计图

所使用的Property

对象名称 Property 设定意义

Application Visible 是否现实再 SCREEN上 .T. , .F.

Value 传回或者设定存储文件的内容

ActiveSheet 回应Excel Application 执行工作表对象

实例说明:

启动Excel:

MyExcel=CreateObject('Excel.Application') &&建立Excel对象

MyExcel.Visible=.T. &&让Excel对象再屏幕上显示出来

如何增加工作簿:

MyExcel.WorkBooks.Add &&在Excel对象中增加一份工作簿(WorkBook)

如何在工作簿中增加Sheet(工作表)

MyExcel.Sheets.Add &&增加工作表(在当前工作簿中)

如何删除工作表

MyExcel.ActiveWorkBooks.Sheets(1).Delete &&把工作簿中的BOOK(1) 删除

向指定的工作簿中的工作表(Sheet)中存储数据

*Excel.application Object

*Excel.application.ActiveWorkBook Property

*WorkBOoks Object

*WorkBOoks Object的Add Method.

*Sheets对象

*Sheets(Index)对象指定索引工作表

*Excel.Application对象的Cells Method结合Value属性

Example:

CLEAR ALL

SET PATH TO SYS(2004)+'SAMPLES\DATE'

USE CUSTOMER

MYEXCEL=CREATEOBJEXT('EXCEL.APPLICATION')

MYEXCEL.VISIBLE=.T.

MYEXCEL.WORKBOOKS.ADD

MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).VALUE='客户编号'

MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,2).VALUE='公司行号'

SELECT CUSTOMER

R=2

C=1

GOTO TOP

FOR I=1 TO 20

MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(R,C).VALUE=CUSTOMER.CUST_ID

MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(R,C+1).VALUE=CUSTOMER.COMPANY

R=R+1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多