资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
*!*VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍: oExcel=Createobject(Excel.application) &创建Excel对象 *对象属性 oExcel.Visible=.T. &显示Excel窗口 oExcel.Caption=VFP应用程序调用Microsoft Excel &更改Excel标题栏 oExcel.DisplayAlerts = .F. &关闭提示和警告消息,运行结束后,应将本属性设置回 True 值 oExcel.cells(1,4).Value=XM(XM为数据库字段名) &给单元格赋值 *Workbooks属性 oExcel.Workbooks.Add &添加新工作簿 oExcel.Workbooks.Open(c:templl.xls) &打开指定工作簿 oExcel.Workbooks.Close &关闭工作簿 oExcel.Quit &退出Excel Release oExcel &只有释放对象变量, EXCEL进程才会完全关闭 *Worksheets属性 oExcel.Worksheets(sheet3).Activate &设置第3个工作表为激活工作表 oExcel.Worksheets(Sheet1).Rows(18).PageBreak=1 &在第18行之前插入分页符 oExcel.WorkSheet(Sheet2).Range(A1).PasteSpecial &粘贴 *ActiveWorkbook属性 oExcel.ActiveWorkbook.SaveAs(c:temp22.xls) &工作表另存为 oExcel.ActiveWorkbook.saved=.T. &放弃存盘,避免出现保存对话框 oExcel.ActiveWorkbook.Save &存盘 oExcel.ActiveWorkbook.Close(.F.) &关闭工作簿 oExcel.ActiveWorkbook.Protect(密码,.T.,.T.) &保护工作薄(第一个.T.:保护工作簿结构,第二个.T.:保护工作簿窗口) *ActiveSheet属性 oExcel.ActiveSheet.UsedRange.Copy &拷贝整个工作表 oExcel.ActiveSheet.PrintPreview &打印预览工作表 oExcel.ActiveSheet.PrintOut &打印输出工作表 oExcel.ActiveSheet.Protect(密码,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.) &保护工作表 oExcel.ActiveSheet.Protection.AllowEditRanges.Add(区域3,oExcel.ActiveSheet.Range(A2:D5) &设置允许用户编辑区域 *表格列属性 oExcel.ActiveSheet.Columns(2).Insert &在第2列之前插入一列 oExcel.ActiveSheet.Columns(1).ColumnWidth=5 &设置指定列的宽度(单位:字符个数) oExcel.ActiveSheet.Columns(4).PageBreak=0 &在第4列之前删除分页符 oExcel.ActiveSheet.Columns(1).Font.Bold=.T. &设置整列字体为粗体 *表格行属性 oExcel.ActiveSheet.Rows(2).Insert &在第2行之前插入一行 oExcel.ActiveSheet.Rows(1).RowHeight=1 &设置指定行的高度(单位:磅)(设定行高为 1磅 , 1磅 =0.035厘米) oExcel.ActiveSheet.Rows(50:100).RowHeight=1 &设置第50行至100行的高度 *表格范围属性 oExcel.Range(A4:c4).HorizontalAlignment =1 &水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐) oExcel.Range(A4:c4).VerticalAlignment =2 &垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)oExcel.Range(A4:C4).WrapText =.F. &文本自动换行 oExcel.ActiveSheet.Range(A4:B5).Merge=.T. &合并单元格 oExcel.ActiveSheet.Range(A1:E2).Copy &拷贝指定区域 oExcel.ActiveSheet.Range(b3:d3).BorderS(2).Weight=3 &指定边框线宽度(Borders参数如下) oExcel.ActiveSheet.Range(b3:d3).BorderS(2).LineStyle=1 &设置四个边框线条的类型 &(其中Borders参数:1左、2右、3顶、4底、5斜、6斜/;LineStyle值:1与7细实、2细虚、4点虚、9双细实线) *页面设置 WITH oExcel.ActiveSheet.PageSetup .CenterHeader=报表1 &设置页眉 .CenterHeader=&50报表1 &设置页眉(字体大小),&后面的50可以自定义,表示字体的大小 .CenterFooter=第&P页 &设置页脚(LeftFoot:居左,CenterFooter:居中,RightFooter:居右) .CenterFooter=&28第&P页 共&N页 &设置页脚(字体大小),&后面的28可以自定义,表示字体的大小 .HeaderMargin=2/0.035 &设置页眉到顶端边距为2厘米 .FooterMargin=3/0.035 &设置页脚到底边距为3厘米 .TopMargin=2/0.035 &设置顶边距为2厘米 .BottomMargin=4/0.035 &设置底边距为4厘米 .LeftMargin=2/0.035 &设置左边距为2厘米 .RightMargin=2/0.035 &设置右边距为2厘米 .CenterHorizontally=.T. &设置页面水平居中 .CenterVertically=.T. &设置页面垂直居中 .Papersize=1 &设置页面纸张大小(1窄行8511 39宽行1411 9:A4) .Orientation=1 &设置纸张方向(1-竖向,2-横向) .PrintTitleRows=$1:$2 &设置顶端标题行,(每页都打印行标头(每页顶部出现的单元格的行)) .PrintGridlines=.T. &打印单元格网线 .Zoom=75 &设置缩放比例为75% ENDWITH *单元格设置 WITH oExcel.ActiveSheet.Cells(1,1) &第一行第一列单元格 .Font.Name=黑体 &字体名字 .Font.Size=25 &大小 .Font.Italic=.T. &为斜体(Bold-粗体) .Value=数值 &给单元格赋值 .ClearContents &清除单元格公式 ENDWITH *以下为一些过程 *检测当前目录是否有同名的EXCEL表,如果有先删除,再另存 If !File(Sys(5) + Curdir() + result.xls) oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + result.xls) Else lcFileName = loExcel.GetSaveAsFilename(result, Excel (*.xls), *.xls) If !Empty(lcFileName) If File(lcFileName) Delete File (lcFileName) Endif oExcel.ActiveWorkbook.SaveAs(lcFileName) Endif Endif *!*拷贝整个工作表(含格式) oExcel.activesheet.cells.Copy &拷贝 oExcel.sheets(1).Select &选择第一工作表 oExcel.ActiveSheet.Paste &粘贴 oExcel.ActiveSheet.Cells(3,4).Value & ActiveSheet 为当前的Sheet工作薄名字,Cells(3,4).value 为第3行第4列的值 *!* 显示某个单元格的批注内容 oExcel=Createobject(Excel.application) oExcel.Workbooks.Open(d:TESTtesta.xls) oExcel.Visible=.T. ?oExcel.Range(B5).Comment.Text &显示B5单元格的批注内容 oExcel.Workbooks.Close oExcel.Quit Release oExcel *!* 将当前工作表中的已用区域(只读)存入数组。 strPath=D:TEST123.xls Local oExcel oExcel=Createobject(Excel.Application) oExcel.WorkBooks.Open(strPath) arrTableInfo=oExcel.ActiveSheet.UsedRange.Value &将当前工作表中的已用区域(只读)存入数组。 oExcel.Quit Release oExcel Insert Into 表名 From arrTableInfo *!* 设置excel批注的字体(excel 2000实现了,如下:) ole.Range(a3).Comment.Shape.Select & 此命令要求批注的 Visible=.t. ole.Selection.Font.Size=9 ole.Selection.Font.Name=黑体 ole.Selection.Font.bold=.F. 注:该组命令要求先选中批注框,否则写成
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号