pb通过ole来控制excel.doc_第1页
pb通过ole来控制excel.doc_第2页
pb通过ole来控制excel.doc_第3页
pb通过ole来控制excel.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在开发过程中有一些复杂的报表尤其是中国式的报表,用pb的数据窗口来实现非常麻烦甚至实现不了,我们可以换一种方式通过操作excel来实现。实现的原理是先在pb脚本中检索或计算出报表中的各项数据,然后把它们一个萝卜一个坑的赋值到单元格中。pb通过ole对象来控制excel的步骤如下:1、创建连接到excel应用的ole对象OleObject ole_excelole_excel = create OleObjectIf ole_excel.ConnectToNewObject(Excel.Application) 0 ThenMessageBox(连接到Excel错误,请确认是否已经安装了Excel!,Exclamation!)Destroy old_excelReturnEnd If2、打开指定的excle文件ole_excel.Application.Workbooks.Open(excel文件)3、操作excel单元格excel单元格有一系列的操作,它们的使用格式一般如下:ole对象.ActiveWorkBook.Sheets(工作表名).操作对象.动作或属性读取或赋值工作表1中单元格的格式:ole_excel.ActiveWorkBook.Sheets(工作表1).cells1,1.value合并工作表1中的第ll_rows_buget行的A列到I列的单元格:ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Merge,还有如下一些与合并单元格相类似的动作或属性.HorizontalAlignment = xlGeneral/单元格的横向对齐方式.VerticalAlignment = xlBottom/单元格的纵向对齐方式(1、2左,3居中,4右).WrapText = True/自动换行.Orientation = 0AddIndent = FalseShrinkToFit = False.MergeCells = False设置工作表1中的第ll_rows_buget行的A列到I列的单元格四周为实现边框ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Borders(1).LineStyle=1ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Borders(2).LineStyle=1ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Borders(3).LineStyle=1ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Borders(4).LineStyle=1第ll_rows_buget行从A到I单元格的背景色和字体颜色设置如下:ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Interior.ColorIndex = 48/背景色为棕黑色ole_excel.ActiveWorkBook.Sheets(工作表1).Range(A+string(ll_rows_buget)+:I+string(ll_rows_buget).Font.ColorIndex = 3/字体颜色为红色有一点需要注意的是单元格的背景色和字体颜色的属性ColorIndex不能超过56,否则程序崩溃,自动退出。ColorIndex = 0 为白色,ColorIndex = 56 则接近黑色,其他颜色请自行摸索,我也不太清楚4、保存excel文件,退出excel,并销毁ole对象ole_excel.ActiveWorkBook.save()ole_excel.Application.Quit()Destroy ole_excel/注销对象=最详细的使用方法请参考VBA,以下摘录常用的功能。1创建Excel对象eole=CREATEOBJECT(Excel.application)2添加新工作簿eole.Workbooks.add3设置第3个工作表为激活工作表eole.Worksheets(sheet3).Activate4打开指定工作簿eole.Workbooks.Open(c:templl.xls)5显示Excel窗口eole.visible = true6更改Excel标题栏eole.Caption=VFP应用程序调用Microsoft Excel7给单元格赋值eole.cells(1,4).value=XM(XM为数据库字段名)8设置指定列的宽度(单位:字符个数)eole.ActiveSheet.Columns(1).ColumnWidth=59设置指定行的高度(单位:磅)eole.ActiveSheet.Rows(1).RowHeight=1/0.035(设定行高为1厘米,1磅=0.035厘米)10在第18行之前插入分页符eole.Worksheets(Sheet1).Rows(18).PageBreak=111在第4列之前删除分页符eole.ActiveSheet.Columns(4).PageBreak=012指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range(b3:d3).Borders(2).Weight=313设置四个边框线条的类型eole.ActiveSheet.Range(b3:d3).Borders(2).LineStyle=1(其中Borders参数:1左、2右、3顶、4底、5斜、6斜/;LineStyle值:1与7细实、2细虚、4点虚、9双细实线)14设置页眉eole.ActiveSheet.PageSetup.CenterHeader=报表115设置页脚eole.ActiveSheet.PageSetup.CenterFooter=第P页16设置页眉到顶端边距为2厘米eole.ActiveSheet.PageSetup.HeaderMargin=2/0.03517设置页脚到底边距为3厘米eole.ActiveSheet.PageSetup.FooterMargin=3/0.03518设置顶边距为2厘米eole.ActiveSheet.PageSetup.TopMargin=2/0.03519设置底边距为4厘米eole.ActiveSheet.PageSetup.BottomMargin=4/0.03520设置左边距为2厘米veole.ActiveSheet.PageSetup.LeftMargin=2/0.03521设置右边距为2厘米eole.ActiveSheet.PageSetup.RightMargin=2/0.03522设置页面水平居中eole.ActiveSheet.PageSetup.CenterHorizontally = true23设置页面垂直居中eole.ActiveSheet.PageSetup.CenterVertically= true24设置页面纸张大小(1窄行8 5 11 39宽行14 11)eole.ActiveSheet.PageSetup.PaperSize=125打印单元格网线eole.ActiveSheet.PageSetup.PrintGridlines= true26拷贝整个工作表eole.ActiveSheet.UsedRange.Copy27拷贝指定区域eole.ActiveSheet.Range(A1:E2).Copy28粘贴eole.WorkSheet(Sheet2).Range(A1).PasteSpecial29在第2行之前插入一行eole.ActiveSheet.Rows(2).Insert30在第2列之前插入一列eole.ActiveSheet.Columns(2).Insert31设置字体eole.ActiveSheet.Cells(2,1).Font.Name=黑体32设置字体大小eole.ActiveSheet.Cells(1,1).Font.Size=2533设置字体为斜体eole.ActiveSheet.Cells(1,1).Font.Italic= true34设置整列字体为粗体eole.ActiveSheet.Columns(1).Font.Bold= true35清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents36打印预览工作表eole.ActiveSheet.PrintPreview37打印输出工作表eole.ActiveSheet.PrintOut38工作表另为eole.ActiveWorkbo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论