ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:48.69KB ,
资源ID:7696887      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7696887.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VF中控制EXCEL的常用操作.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VF中控制EXCEL的常用操作.docx

1、VF中控制EXCEL的常用操作VF中控制EXCEL的常用操作myexcel=createobject(excel.application)&创建一个对象myexcel.visible=.t.&可见&bookexcel=bookexcel=C:Documents and SettingsAdministrator桌面学习dd.xls)&打开指定文件nrows=bookexcel.worksheets(sheet1)&打开工作表UsedRange =nrows.UsedRange&返回工作表中可使用的区域,UsedRange表的属性r=c=with myexcel.application.shee

2、ts(sheet3).select.sheets.add&添加一个工作表.ActiveSheet.Name = ddddd&重命名表endwithmyexcel.Worksheets(sheet1).Activate&选择表为当前工作表myexcel.cells(1,1).value=sss&1,1处的值为,1).Font.size=25&设置1,1的字体大小,1).Font.name=黑体&设置字体,1).clear&清除内容 &选择区域合并单元格myexcel.Range(a1).Formula=sum(b2,b3,b4,b5)&在A1中键入一个公式myexcel.range(a1).Cl

3、earContents &设置选中的区域为字符型数据*myexcel.quit&excel*生成一个表并显示可用的sheets&oExcel = CREATE(Excel.Application)&FOR EACH oMyVar IN oExcel.sheets& ? oMyVar.name&NEXT oMyVar在VFP中控制Excel的小小经验集获取工作表名称在以下示例中,创建了一个 microsoft excel 实例,添加了一个新的工作簿。使用 foreach 语句显示工作簿中每个工作表的名称。此示例要求在运行示例的机器上正确安装 microsoft excel。oExcel = CR

4、EATE(Excel.Application)FOR EACH oMyVar IN oExcel.sheets ? oMyVar.nameNEXT oMyVarExcel报表巧生成巧让FoxPro数据生成Excel报表Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法

5、对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。 Excel报表具体过程如下:编辑推荐文章 新鲜接触Excel 2000 XP Excel 2000公式应用的几条经验 Excel 2000函数应用之信息函数 假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。部分程序代码如下:m.outfilename=putfile(输出结果,agcall

6、op,xls)&取导出文件名称ef=CREATEOBJECT(Excel.application)&调用Excel程序&添加工作簿ef.Worksheets(sheet1).Activate&激活第一个工作表ef.visible=.t.&显示Excel界面&选择整张表 = 10&设置整表默认字体大小为10select 0use agcallop&选择被导出的表num=reccount()&求导出总记录数go topi=5ef.range(F1:K1).Select&选择标题栏所在单元格&合并单元格with ef.range(F1 )&设置标题及字体属性.value=客户服务部业务代表工作量情况

7、统计表.Font.Name=黑体.Font.size=18endwithef.Rows(2).RowHeight=1/0.035&设置第二行高度为1cmef.range(H2:O2).Select&选定统计条件栏所在单元格&合并单元格ef.range(H2).Font.size=10ef.range(H2).HorizontalAlignment=4&设置内容对齐方式为右对齐,3为居中,2为右对齐ef.range(H2).value=统计时间:+dtoc(date()+ 打印日期:+dtoc(date()ef.Rows(3:4).Selectwith ef.Selection.Horizont

8、alAlignment = 3&设置3、4行为水平对齐.VerticalAlignment = 2&垂直居中.NumberFormatLocal = &设置3、4行为字符型内容endwithef.Range(A3:A4).Select&纵向合并第一列3、4行ef.Range(A3).value=工号&设置第一列标题内容ef.Columns(A).Select&整列选择 = 3&水平居中ef.Columns(A:B).Select = &设置A、B列为字符型内容ef.Range(B3:B4).Select&纵向合并第二列3、4行ef.Range(B3).value=姓名&设置第二列标题内容ef.

9、Columns(B).Select&整列选择 = 3&水平居中ef.Range(C3:E3).Select&横向合并第三行C-E列ef.Range(C3).value=话务总量&第三行大标题为“话务总量”的列ef.Range(C4).value=电话呼入量&“话务总量”下第1个小标题“电话呼入量”ef.Range(D4).value=电话呼出量&“话务总量”下第2个小标题“电话呼出量”ef.Range(E4).value=合 计&“话务总量”下第3个小标题“合计”ef.Range(F3:H3).Selectef.Range(F3).value=话务总时间ef.Range(F4).value=呼

10、入时间ef.Range(G4).value=呼出时间ef.Range(H4).value=合 计ef.Range(I3:K3).Selectef.Range(I3).value=单个话务平均时间ef.Range(I4).value=呼入时间ef.Range(J4).value=呼出时间ef.Range(K4).value=合 计ef.Range(L3:L4).Selectef.Range(L3).value=累计工作时间ef.Range(M3:M4).Selectef.Range(M3).value=无效时间ef.Range(N3:N4).Selectef.Range(N3).value=录入

11、量ef.Range(O3:O4).Selectef.Range(O3).value=有效时间比接下来通过scan语句,依次为每一行每一列单元格赋值。为了获得更好的打印效果,还需进行页面设置,如标题行、页面居中、横向排版等,还可以加边框线。以上程序在VFP 6+Excel 2000+Windows 2000下调试通过。实际应用中可根据需要对各项参数设置进行相应调整。FOX控制EXCL文件另存为DBF(EXCL后台运行)fil= &其值为一个包含路径的文件名eole=CREATEOBJECT(Excel.application) &打开文件 &关闭(如果无则打开)自动筛选eole.Range(A1

12、:F1000).Select &选中从第1行到1000行的前6列数据(另存后只有这些数据)asfil=STRTRAN(UPPER(STRTRAN(fil,SUBSTR(fil,1,RAT(,fil),c:windowsdesktopcphz),.XLS,.dbf) &要保存的文件名IF FILE(asfil)DELETE FILE &asfilENDIF,8) &另存为DBF &不保存当前EXCL表 &关闭表eole.quit &退出EXCLRELEASE eole &释放变量虽然用APPEND FROM tx.xls TYPE XL8可以更简单的追加数据,但有时会导致程序非法错误退出(不知是

13、不是因为非法字符),而且还有一定的限制实用的VFP与EXCEL交互编程邹益民摘要:本文介绍了几种实用的VFP与EXCEL交互编程的方法与实例,将VFP强大的数据处理功能与EXCEL优异的制表功能有机地结合起来,大大增强了软件的应用效果。关键词:VFP、EXCEL、DDE、OLE、交互编程。Some Cross_Programming Methods Between VFP and EXCELZou yiming(Gansu Lanzhou Section of Instruments Lanzhou Petrochemical Staff College)Abstract: The autho

14、r introduces us in this paper some practical methods and instance of cross_programming between VFP and EXCEL . It extremely improves their performances by combining VFPs data processing functions with EXCELs excellent tabulation functions.Key Words: VFP、EXCEL、OLE、DDE、Cross-ProgrammingVFP(Visual Foxp

15、ro)是一种关系型数据库管理系统,由于其强大的数据处理能力及良好的兼容性,使其成为数据库应用程序开发人员的强有力工具,而EXECL则是一种优秀的电子表格处理软件,在兼容性、操作界面、公式运算、图表等方面有着独到的优势。上述两种软件在各自的应用领域均得到广泛的应用,同时上述两种软件还具有良好的交互编程能力,为两者相辅相成、取长补短奠定了良好的基础。本文将结合具体实例介绍几种VFP与EXCEL交互编程的方法,每种方法虽然实现手段各异,但功能相仿。其功能可简述如下:VFP数据表“学生成绩表DBF”中含“学生姓名”、“语文”、“数学”等字段,示例程序将从EXCEL工作簿“VFP交互XLS”之工作表“查

16、询”中用书签“课程名”指定的单元取得欲查询的课程名称,然后在数据表“学生成绩表DBF”中自动搜索,以找到该门课程不及格的同学名单,最后传送至原EXCEL工作薄形成新的工作表单,同时,新工作表还将以该课程名命名。下列程序均在VFP50与EXCEL97中调试通过。因篇幅所限,程序中的错误处理部分略去。一、EXECL驱动VFPEXECL内置的VBA语言(Visual Basic For Application)为EXECL功能的扩展提供了便利的手段,用户可使用该语言直接驱动VFP完成数据检索等功能。程序首先生成一个VFP对象,然后用VFP的DoCmd方法执行VFP摸索命令串,其摸索结果再借助于VFP

17、的DateToClip方法拷贝至剪切板,最后VBA将其粘贴至工作表的正确位置。Sub FoxTest()Dim oFox As ObjectDim SLesson As StringDim SCommand As StringSet oFox = CreateObject(VisualFoxPro.Application) 启动VFP,生成VFP对象Sheets(查询).SelectSLesson = Range(课程名) 在名为“课程名”的单元格中得到欲查询的课程名称Sheets.Add 产生新的工作表单ActiveSheet.Name = Slesson 指定工作表单的名称与课程名称相同S

18、Command = SELECT 学号,语文,数学 FROM d:vfp学生成绩表 WHERE + SLesson + 60 INTO CURSOR TEMP 形成VFP查询命令串oFox.DoCmd Scommand 执行VFP命令串oFox.DataToClip temp, , 3 将搜索结果以文本方式拷贝至剪切板Range(a1:a1).Select 指向拷贝目标区域左上角单元ActiveSheet.Paste 粘贴搜索结果End Sub为便于使用,作者在EXECL中自制了一名为“搜索”的工具栏及一名为“开始搜索”的按钮,并将上述宏程序段与自制按钮相关联,按下此按钮即可运行程序并在EXC

19、EL中得到要求的数据。制作工具栏及按钮的方法如下:1. 选“工具”/“自定义”菜单,出现自定义对话框;2. 选择“工具栏”页框,然后按下“新建”按钮;3. 在工具栏对话框中输入“搜索”作为新建工具栏的名称;4. 选择“命令”页框,在“类别”列表中选“宏”,在“命令”列表中选“自定义按钮”并将其拖放至新建的“搜索”工具栏;5. 按下“更新所选内容”按钮,首先在“命名”栏中填入按钮名称“开始搜索”,然后选择“指定宏”,在随后出现的“指定宏”列表中选择上述宏程序FoxTest()即可实现为该宏指定一个工具栏按钮。二、VFP使用OLE功能驱动EXECLOLE(Object Linking and Em

20、bedding)对象链接与嵌入,是WINDOWS应用程序间相互传递和共享数据的一种有效方法。VFP借助于OLE不仅可共享其它应用程序的数据,而且还能以对象方式直接控制其它应用程序的运行,从而进一步扩展VFP的功能。VFP支持直接在程序中创建、使用和控制OLE对象,实现OLE自动化。作为OLE客户VFP与作为OLE服务器的EXCEL具有良好的编程接口,下述程序段用OLE方式实现所要求的功能。程序首先生成一个EXCEL的OLE对象OleApp以便对其进行操作,然后利用OLE功能从EXCEL表单中获取欲查询的课程名,并控制EXCEL生成新的工作表,VFP的查询结果仍然使用剪切板的方式传递至EXCEL

21、工作表。OleApp=CREATEOBJECT(Excel.Application) & 打开EXCEL,产生OLE对象VFP交互编程 & 指定标题栏名称 & 置EXCEL可见d:vfpVFP交互.xls) & 打开EXCEL工作簿DO WHILE .T.WITH OleApp.ApplicationnAnswer = MESSAGEBOX(开始搜索?, 32+4, 搜索指定数据) &产生信息框IF (.NOT.(nAnswer=6) & 如按下“Yes按钮,则开始搜索,反之退出EXITENDIF.Sheets(查询).Select & 选择“查询”工作表单SLesson = 课程名).Val

22、ue & 得到欲查询的课程名称.Sheets.Add & 新建一工作表单.ActiveSheet.Name = Slesson & 指定工作表单的名称SCommand = SELECT 学号,语文,数学 FROM d:vfp学生成绩表 WHERE +ALLTrim(SLesson) + 60 INTO CURSOR TEMP & 形成VFP查询命令串&Scommand & 执行VFP命令串_VFP.DataToClip(TEMP,3) & 将搜索结果以文本方式拷贝至剪切板.Range(a1:a1).Select & 指向拷贝目标区域左上角单元.ActiveSheet.Paste & 粘贴搜索结

23、果ENDWITHENDDOOleApp.Quit & 关闭EXCEL,保存更新后的工作簿文件*那个是关闭excel啊不是存盘关闭了就不能存盘了设置打印参数:问:用Excel做报表,可打印时怎么选择打印机,即.答:expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)expression 必选。该表达式返回“应用于”列表中的某个对象。From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。To Variant 类型,可选。

24、打印的终止页号。如果省略该参数,将打印至最后一页。Copies Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。Preview Variant 类型,可选。如果为 True 则 Microsoft Excel 打印指定对象之前进行打印预览。如果为 False,或者省略此参数则立即打印该对象。ActivePrinter Variant 类型,可选。设置活动打印机的名称。PrintToFile Variant 类型,可选。如果为 True 则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。Coll

25、ate Variant 类型,可选。如果为 True 则逐份打印每份副本。PrToFileName 可选,Variant 类型。如果将 PrintToFile 设置为 True,则本参数指定要打印到的文件名。说明From 参数和 To 参数所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。如何用编程的方法打开有密码的Excel文件?问题:Excel文件加了密码,如何在VFP中用编程的方式把密码输入,使Excel文件打开如:eole=CREATEOBJECT(Excel.application)d:22.xls)这样还有一个密码的对话框出来,需要输入密码才能打开文件。如何用编程的

26、方法直接打开有密码的Excel文件?答:d:22.xls,.f.,.f., ,123,456)123表示打开权限的密码,456表示修改权限的密码.-问题一:如何将一个已知路径的图片插入到excel中.答:图片文件名)-问题二:能不能指定在某一位置或区域放置图片并控制图片显示大小呢?答:OLEAPP.SHEETS(1).SELECToleapp.Range(位置).Select图片文件名).Select =.T. = 57-问题:类型为字符型的字段输出到excel 中,前面的零被自动去掉,例如“009877”变为“9877”,怎么解决?答:1.在字符串前面加半角单引号“ ”2.eole.Rang

27、e(A1:Y1).Select = -在 Excel 中插入行和列 :objExcel.Rows(1).Insert() &在第一行前面插入一行objExcel.Columns(2).Insert() &在第二列前面插入一列-获取 Excel 记录数loXls = CREATEOBJECT(excel.application)bookExcel = f:pz.xls)nrows=bookExcel.Worksheets(pz)UsedRange =nrows.UsedRanger = &行数c = &列数-问:在EXCEL中如何在打开文件的同时自动执行一个宏命令。答:只要将宏的命名为 AUTO

28、_OPEN 即可。如果要在文件关闭时运行,则命名为auto_close 。-问:在VFP中可以执行EXCEL的选择性粘贴吗?.Range(A2).PasteSpecial (xlPastues) & 会出错.Range(A2).PasteSpecial (3) & 也会出错.Range(A2).PasteSpecial & 只好这样了如何才能只粘贴值呢?=答:xlPastues=-4163oExcel.Range(A1).SelectoExcel.Range(B1)._PasteSpecial(xlPastues)注意:在Excel 中,xlPastues是一个常量,它的值是一个数值型的:-4163

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1