一、用Visual Foxpro 设计用Excel表格的程序 利用OLE Automation 设计Excel 应用程序 Excel支持的对象说明: (a) VBA 对象: Application Excel应用程序对象 WorkBooks Excel活页薄对象
(b)所使用的Method Application Cells 设定或传回来某个网格的内容 Range 传回或设定某一个范围的网格 Charts 传回或设定活页簿的单一统计表 Quit 结束 Excel Application Save 激活存储文件对话框 WorkBooks Add 新增一个工作簿 Charts Add 新增一个统计图
?所使用的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 SKIP ENDFOR 调整单元格宽度: MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).columnwidth=30 调整单元格对齐方式: MYEXCEL.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).horizontalalig=1 1为默认方式,2为左对齐,3为中对齐,4为右对齐。 如何将数据存储: MYEXCEL.SAVE() 注:可以用Save(FileName)指定预存储文件名, 则可不用激活SAVE AS 窗口
如何打印表格: MYEXCEL.ActiveWorkBook.PrintOut &&默认打印增个Sheet
如何指定打印表格: MYEXCEL.ActiveWorkBook.PrintOut(1,1,1,.T.) &&默认打印增个Sheet PrintOut有四个参数 A. 数值:,表示指定的工作簿中进行打印的Sheet 的开始编号 B. 数值:,表示指定的工作簿中进行打印的Sheet 的结束编号 C.打印分数. D.是否进行 Preview, .T.,预览, .F.打印
如何产生统计图 CURROW=MYEXCEL.ACTIVESHEET.ROWS.COUNT RANGESTRING='A1:'+'B'+ALLTRIM(STR(CURROW)) MYEXCEL.RANGE(RANGESTRING).SELECT MYEXCEL.CHARTS.ADD
结束EXCEL MYEXCEL.QUIT
EXCEL.ActiveWindow.SelectedSheets.PrintPreview &&预览打印 EXCEL.ActiveWorkbook.SaveAs("C:\My Documents\Book1.xls") &&另存为
EXCEL.ActiveWorkbook.Close &&关闭一个工作表,如果有修改则提示 EXCEL.ActiveWorkbook.Close(.t.) &&提示另存为 EXCEL.ActiveWorkbook.Close(.f.) &&关闭一个工作表不用提示是否存盘TEOBJEXT('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< |