VFP全面控制EXCEL(转自CSDN).doc

上传人:11****ws 文档编号:2125445 上传时间:2019-04-29 格式:DOC 页数:137 大小:706KB
下载 相关 举报
VFP全面控制EXCEL(转自CSDN).doc_第1页
第1页 / 共137页
VFP全面控制EXCEL(转自CSDN).doc_第2页
第2页 / 共137页
VFP全面控制EXCEL(转自CSDN).doc_第3页
第3页 / 共137页
VFP全面控制EXCEL(转自CSDN).doc_第4页
第4页 / 共137页
VFP全面控制EXCEL(转自CSDN).doc_第5页
第5页 / 共137页
点击查看更多>>
资源描述

1、VFP 全面控制 EXCEL 收藏VFP 和 Excel 都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。比如我们可以利用 VFP 进行处理数据,而利用 Excel 的预览打印功能进行报表打印。这就需要我们在 VFP 中直接来控制 Excel。下面就在开发 VFP 应用项目时对 Excel 的控制作一下介绍:*!* 1创建 Excel 对象oExcel=Createobject(“Excel.application“)*!* 2添加新工作簿oExcel.Workbooks.Add*!* 3设置第 3 个工作表为激活工作表oExcel.Worksheets(

2、“sheet3“).Activate*!* 4打开指定工作簿oExcel.Workbooks.Open(“c:templl.xls“)*!* 5显示 Excel 窗口oExcel.Visible=.T.*!* 6更改 Excel 标题栏oExcel.Caption=“VFP 应用程序调用 Microsoft Excel“*!* 7给单元格赋值oExcel.cells(1,4).Value=XM(XM 为数据库字段名)*!* 8设置指定列的宽度(单位:字符个数)oExcel.ActiveSheet.Columns(1).ColumnWidth=5*!* 9设置指定行的高度(单位:磅)oExcel

3、.ActiveSheet.Rows(1).RowHeight=1(设定行高为 1 磅,1 磅=0.035 厘米)oExcel.ActiveSheet.Rows(“50:100“).RowHeight=1 Data Source=d:temp123.xls;Extended Properties=“excel 8.0;HDR=YES;IMEX=1;“;Persist Security Info=False.OpenEndwithoConnection.EXECUTE(select * into dBase III;DataBase=d:temp.rr from sheet5$)oConnecti

4、on.Close*!* 63设置打印参数:用 Excel 做报表,可打印时怎么选择打印机,即.ActiveWindow.SelectedSheets.PrintOut的参数有哪些? Expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)Expression 必选。该表达式返回“应用于”列表中的某个对象。From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。To Variant 类型,可选。打印的终止页号。如果省略该参数

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

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

7、来,需要输入密码才能打开文件。*!* 65如何用编程的方法直接打开有密码的 Excel 文件?oEle.Workbooks.Open(“d:22.xls“,.F.,.F., ,“123“,“456“)“123“表示打开权限的密码,“456“表示修改权限的密码.*!* 66如何将一个已知路径的图片插入到 excel 中.oexcel1.ActiveSheet.PictureS.Insert(“图片文件名“)*!* 67能不能指定在某一位置或区域放置图片并控制图片显示大小呢?OLEAPP.SHEETS(1).Selectoleapp.Range(“位置“).Selectoleapp.ActiveS

8、heet.PictureS.Insert(“图片文件名“).Selectoleapp.Selection.ShapeRange.LockAspectRatio =.T.oleapp.Selection.ShapeRange.Height = 57*!* 68类型为字符型的字段输出到 excel 中,前面的零被自动去掉,例如“009877”变为“9877”,怎么解决?1.在字符串前面加半角单引号“ ”,例如:o.Cells(1,1).Value=“0123“或用变量cString=“+“0123“ &其中 0123 可以取自表中一个字段o.Cells(1,1).Value=cString &o.

9、Range(“A1:A1“).value=cString2.oExcel.CELLS(1,1).Select &或 eole.Range(“A1:E1“).SelectoExcel.Selection.NumberFormatLocal = “ &把被选定的单元格设为文本格式oExcel.Cells(1,1).Value=“0123“ &给所选单元格覆值*!* 69在 Excel 中插入行和列 :objExcel.Rows(1).Insert() &在第一行前面插入一行objExcel.Columns(2).Insert() &在第二列前面插入一列*!* 70获取 Excel 记录数loXls

10、 = Createobject(“excel.application“)bookExcel = loXls.Application.Workbooks.Open(“f:pz.xls“)nrows=bookExcel.Worksheets(pz)UsedRange =nrows.UsedRanger=UsedRange.Rows.Count &有数据的总行数c=UsedRange.Columns.Count &有数据的总列数loXls.Workbooks.CloseloXls.Quit*!* 71在 EXCEL 中如何在打开文件的同时自动执行一个宏命令。只要将宏的命名为 AUTO_OPEN 即可

11、。如果要在文件关闭时运行,则命名为 auto_close 。*!* 72在 VFP 中可以执行 EXCEL 的选择性粘贴吗?.Range(“A2“).PasteSpecial (“xlPasteValues“) & 会出错.Range(“A2“).PasteSpecial (3) & 也会出错.Range(“A2“).PasteSpecial & 只好这样了*!* 73如何才能只粘贴值呢?xlPasteValues=-4163oExcel.Range(“A1“).SelectoExcel.Selection.CopyoExcel.Range(“B1“)._PasteSpecial(xlPast

12、eValues)*注意:在 Excel 中,“xlPasteValues“是一个常量,它的值是一个数值型的:-4163oExcel.Range(“A1“).CopyoExcel.Range(“B3“).PasteSpecial(8) &粘贴行、列宽oExcel.Range(“B3“).PasteSpecial(-4122) &粘贴格式*!* 74如何从 excel 读取数据*建立一个 excel 对象*Local hb1 As excel.Applicationcsheetname=Trim(Thisform.text2.Value)&读取用户要读取 excel 的 sheet 名*读取数据源

13、所在的 EXCEL 文件名*If Empty(Trim(Thisformset.filepath)Messagebox(“请先选择要导入的 excel 文件!“,0,“提示“)ReturnEndifIf Empty(Trim(csheetname)Messagebox(“请先选择要导入的工作表 sheet 名称!“,0,“提示“)ReturnEndifTryhb1=Createobject(“excel.application“)CatchMessagebox(“请检查你是否已安装 microsoft excel 应用程序!“,0,“提示“)Endtry*打开 EXCEL 对象,开始读取数据*

14、HB1.workbooks.Open(Trim(Thisformset.filepath)hb1.Sheets(csheetname).SelectSele Store&这是要读取的数据存放的表Zapisend=.F. &用于判断是否记录已到底i=1Do While isend=.F.Append Blankcrq=Dtoc(drq)cdh=hb1.Cells(i,1).ValueIf Isnull(cdh)cdh=“Endif*用于判断数据类型,数据类型一定要判断是否为 NULL,* 然后如果不是指定的类型,还要进行转换*If Type(“cdh“)Ccdh=Alltrim(Str(cdh)Endifcdwmc=Trim(hb1.Cells(i,2).Value)If Isnull(cdwmc)cdwmc=“Endifcgg=hb1.Cells(i,3).ValueIf Isnull(cgg)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。