VFP全面控制EXCEL.docx

上传人:b****4 文档编号:11610264 上传时间:2023-03-28 格式:DOCX 页数:10 大小:20.44KB
下载 相关 举报
VFP全面控制EXCEL.docx_第1页
第1页 / 共10页
VFP全面控制EXCEL.docx_第2页
第2页 / 共10页
VFP全面控制EXCEL.docx_第3页
第3页 / 共10页
VFP全面控制EXCEL.docx_第4页
第4页 / 共10页
VFP全面控制EXCEL.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

VFP全面控制EXCEL.docx

《VFP全面控制EXCEL.docx》由会员分享,可在线阅读,更多相关《VFP全面控制EXCEL.docx(10页珍藏版)》请在冰豆网上搜索。

VFP全面控制EXCEL.docx

VFP全面控制EXCEL

最近正好有空,看到不少人对VFP控制EXCEL有兴趣,现将上次的“精华贴”重新整理一下,供各位爱好者参考!

oExcel.Selection.NumberFormatLocal="@"&&把被选定的单元格设为文本格式

1、对象的创建与关闭  *******************************

eole=CREATEOBJECT('Excel.application')                   &&创建Excel对象

eole.Workbooks.add                                       &&添加新工作簿

eole.Worksheets("sheet3").Activate                       &&设置第3个工作表为激活工作表

eole.Workbooks.Open("D:

\ABC\11.xls")                     &&打开指定工作簿

eole.visible=.t.                                         &&显示Excel窗口

eole.visible=.F.                                         &&不显示Excel窗口

eole.Caption="VFP应用程序调用MicrosoftExcel"             &&更改Excel标题栏

eole.ActiveWorkbook.SaveAs("D:

\ABC\22.xls")              &&工作表另为

eole.ActiveWorkbook.saved=.t.                            &&放弃存盘

eole.ActiveSheet.UsedRange.Copy                          &&拷贝整个工作表

eole.ActiveSheet.Range("A1:

E2").Copy                     &&拷贝指定区域

eole.WorkSheet("Sheet2").Range("A1").PasteSpecial        &&粘贴

eole.ActiveWorkbook.Save                                 &&存盘(自动存盘不提问)

eole.Workbooks.close                                     &&关闭工作簿

eole.quit                                                &&退出Excel

2、单元格的设置  ***********************************

eole.ActiveSheet.Columns("D:

D").Delete                   &&删除列

eole.ActiveSheet.Columns("A:

B").Delete                   &&删除列

eole.ActiveSheet.Columns

(1).ColumnWidth=20               &&列的宽度(单位:

字符个数)

eole.ActiveSheet.Columns

(2).ColumnWidth=30

eole.ActiveSheet.Columns("C:

BE").ColumnWidth=9.5

eole.Selection.Columns.AutoFit                           &&最适合的列宽

eole.ActiveSheet.Range("b3:

d3").Borders

(2).Weight=3      &&指定边框线宽度

                          (其中Borders参数:

1-左、2-右、3-顶、4-底、5-斜、6-斜/;

                               LineStyle值:

1与7-细实、2-细虚、4-点虚、9-双细实线)

eole.ActiveSheet.Range("A1:

BE29").Borders

(1).LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Range("A1:

BE29").Borders

(2).LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Range("A1:

BE29").Borders(3).LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Range("A1:

BE29").Borders(4).LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Rows

(1).Insert                          &&在第1行之前插入一行

eole.ActiveSheet.Columns

(2).Insert                       &&在第2列之前插入一列

eole.cells(1,2).value="ABTMC"                            &&给单元格赋值

eole.cells(2,2).value="&BBBB"                            &&给单元格赋值

eole.ActiveSheet.Cells(1,4).ClearContents                &&清除单元格公式

eole.ActiveSheet.Rows

(1).RowHeight=1/0.               &&设置指定行的高度(单位:

磅)

                                                         *(行高为1厘米,1磅=0.035厘米)

eole.ActiveSheet.ROWS

(1).Font.Name="黑体"                &&设置字体

eole.ActiveSheet.ROWS

(1).Font.Size=14                    &&设置字体大小

eole.ActiveSheet.ROWS

(1).Font.Bold=.t.                   &&设置整行字体为粗体

eole.ActiveSheet.Cells(1,1).Font.Italic=.t.              &&设置字体为斜体

eole.Range("A3:

BE3").select

eole.selection.WrapText=.T.                            &&自动换行

eole.selection.HorizontalAlignment=3                     &&水平方向 2左对齐,3居中,4右对齐

eole.selection.VerticalAlignment=2                     &&垂直方向 1靠上 ,2居中,3靠下

eole.Range("A2:

B2").select

eole.selection.MergeCells=.T.                          &&合并单元

eole.selection.HorizontalAlignment=2                     &&水平方向 2左对齐,3居中,4右对齐

eole.selection.VerticalAlignment=2                     &&垂直方向 1靠上 ,2居中,3靠下

eole.Range("A5:

M5").select

eole.Selection.Interior.ColorIndex=34                  &&设置行颜色为[淡兰]

eole.ActiveSheet.Range("A1:

BE29").NumberFormatLocal=;

"_*#,##0.00_;_*-#,##0.00_;_*"+"-"+"?

?

_;_@_"  &&指定区域的数字显示格式

3、打印页面的设置  *********************************

eole.ActiveSheet.PageSetup.HeaderMargin=2/0.          &&设置页眉到顶端边距为2厘米  

eole.ActiveSheet.PageSetup.FooterMargin=3/0.          &&设置页脚到底边距为3厘米

eole.ActiveSheet.PageSetup.TopMargin=4/0.             &&设置顶边距为4厘米

eole.ActiveSheet.PageSetup.BottomMargin=4/0.          &&设置底边距为4厘米

eole.ActiveSheet.PageSetup.LeftMargin=2/0.            &&设置左边距为2厘米

eole.ActiveSheet.PageSetup.RightMargin=2/0.           &&设置右边距为2厘米

eole.ActiveSheet.PageSetup.CenterHorizontally=.t.        &&设置页面水平居中

eole.ActiveSheet.PageSetup.CenterVertically=.t.          &&设置页面垂直居中

eole.ActiveSheet.PageSetup.PaperSize=8                   &&设置页面纸大小

                                                           (1-窄行851139-宽行1411)

eole.ActiveSheet.PageSetup.Orientation=2                 &&横向

eole.ActiveSheet.PageSetup.PrintTitleRows="$1:

$3"        &&定义固定行

eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:

$C"     &&定义固定列

eole.ActiveSheet.PageSetup.CenterHeader="&14&BTMC"      &&设置页眉

eole.ActiveSheet.PageSetup.CenterFooter="表__第&P页"      &&设置页脚

eole.Worksheets("Sheet1").Rows(18).PageBreak=1           &&在第18行之前插入分页符

eole.ActiveSheet.Columns(4).PageBreak=0                  &&在第4列之前删除分页符

eole.ActiveSheet.PageSetup.PrintGridlines=.t.            &&打印单元格网线

eole.ActiveSheet.PrintPreview                            &&打印预览工作表

eole.ActiveSheet.PrintOut                                &&打印输出工作表

oExcel.ActiveSheet.PageSetup.Zoom=90&&缩放90%

4、记录条数的利用  *********************************

一般来讲,EXCEL表的来源为DBF文件,列、行应该是可以预知的

USE111

COUNTTOAAA

USE

FWQ  ="A3:

M"+ALLT(STR(AAA+?

))  ?

为EXCEL表插入的行数

eole.ActiveSheet.Range(FWQ).Borders

(1).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet.Range(FWQ).Borders

(2).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet.Range(FWQ).Borders(3).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet.Range(FWQ).Borders(4).LineStyle=1       &&设置四个边框线条的类型

5、VFP下直接调用EXCEL、WORD文件  *********************************

DECLAREINTEGERShellExecuteINshell32.DLLINTEGERHWND,STRING,;

                        STRINGlpszFile,STRING,STRING,INTEGER

operate="open"

ShellExecute(0,operate,"C:

\111.XLS",0,0,1)               &&EXCEL文件

ShellExecute(0,operate,"C:

\111.DOC",0,0,1)               &&WORD文件

****************************************

VFP全面控制EXCEL

本文来自CSDN博客:

VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP应用项目时对Excel的控制作一下介绍:

*!

*1.创建Excel对象

oExcel=Createobject("Excel.application")

*!

*2.添加新工作簿

oExcel.Workbooks.Add

 

*!

*3.设置第3个工作表为激活工作表

oExcel.Worksheets("sheet3").Activate

 

*!

*4.打开指定工作簿

oExcel.Workbooks.Open("c:

\temp\ll.xls")

 

*!

*5.显示Excel窗口

oExcel.Visible=.T.

 

*!

*6.更改Excel标题栏

oExcel.Caption="VFP应用程序调用MicrosoftExcel"

 

*!

*7.给单元格赋值

oExcel.cells(1,4).Value=XM(XM为数据库字段名)

 

*!

*8.设置指定列的宽度(单位:

字符个数)

oExcel.ActiveSheet.Columns

(1).ColumnWidth=5

 

*!

*9.设置指定行的高度(单位:

磅)

oExcel.ActiveSheet.Rows

(1).RowHeight=1

(设定行高为1磅,1磅=0.035厘米)

oExcel.ActiveSheet.Rows("50:

100").RowHeight=1&&设置第50行至100行的高度

 

*!

*10.在第18行之前插入分页符

oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1

 

*!

*11.在第4列之前删除分页符

oExcel.ActiveSheet.Columns(4).PageBreak=0

 

*!

*12.指定边框线宽度(Borders参数如下)

ole.ActiveSheet.Range("b3:

d3").BorderS

(2).Weight=3

 

*!

*13.设置四个边框线条的类型

oExcel.ActiveSheet.Range("b3:

d3").BorderS

(2).LineStyle=1

(其中Borders参数:

1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:

1与7-细实、2-细虚、4-点虚、9-双细实线)

 

*!

*14.设置页眉

oExcel.ActiveSheet.PageSetup.CenterHeader="报表1"

 

*!

*15.设置页眉(字体大小)

oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1"&&'&'后面的50可以自定义,表示字体的大小

 

*!

*16.设置页脚

oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页"

 

*!

*17.设置页脚(字体大小)

oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页"&&'&'后面的28可以自定义,表示字体的大小

 

*!

*18.设置页眉到顶端边距为2厘米

oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.

 

*!

*19.设置页脚到底边距为3厘米

oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.

 

*!

*20.设置顶边距为2厘米

oExcel.ActiveSheet.PageSetup.TopMargin=2/0.

 

*!

*21.设置底边距为4厘米

oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.

 

*!

*22.设置左边距为2厘米

oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.

 

*!

*23.设置右边距为2厘米

oExcel.ActiveSheet.PageSetup.RightMargin=2/0.

 

*!

*24.设置页面水平居中

oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T.

 

*!

*25.设置页面垂直居中

oExcel.ActiveSheet.PageSetup.CenterVertically=.T.

 

*!

*26.设置页面纸大小(1-窄行851139-宽行14119:

A4)

oExcel.ActiveSheet.PageSetup.Papersize=1

 

*!

*27.打印单元格网线

oExcel.ActiveSheet.PageSetup.PrintGridlines=.T.

 

*!

*28.拷贝整个工作表

oExcel.ActiveSheet.UsedRange.Copy

 

*!

*29.拷贝指定区域

oExcel.ActiveSheet.Range("A1:

E2").Copy

 

*!

*30.粘贴

oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial

 

*!

*31.在第2行之前插入一行

oExcel.ActiveSheet.Rows

(2).Insert

 

*!

*32.在第2列之前插入一列

oExcel.ActiveSheet.Columns

(2).Insert

 

*!

*33.设置字体

oExcel.ActiveSheet.Cells(2,1).Font.Name="黑体"

 

*!

*34.设置字体大小

oExcel.ActiveSheet.Cells(1,1).Font.Size=25

 

*!

*35.设置字体为斜体

oExcel.ActiveSheet.Cells(1,1).Font.Italic=.T.

 

*!

*36.设置整列字体为粗体

oExcel.ActiveSheet.Columns

(1).Font.Bold=.T.

 

*!

*37.清除单元格公式

oExcel.ActiveSheet.Cells(1,4).ClearContents

 

*!

*38.打印预览工作表

oExcel.ActiveSheet.PrintPreview

 

*!

*39.打印输出工作表

oExcel.ActiveSheet.PrintOut

 

*!

*40.oExcel.CommandBars

(1).Controls

(1).accChild(18).Execute&&打印(菜单序号18为Excel2003的‘打印’项)

&&不同版本Excel的菜单序号可以通过以下程序取得

*(需要在VFP7.0以上运行)

oXls=Getobject("","excel.sheet")

XlApp=oXLS.Application

XlSheet=XlApp.ActiveSheet

bars=xlapp.CommandBars.Count

Str1=''

Fori=1Tobars

   Str1=Str1+Chr(13)+Alltrim(Str(i))+'、'+xlapp.CommandBars(i).accName+'(NAME:

'+xlapp.CommandBars(i).Name+'INDEX:

'+Alltrim(Str(xlapp.CommandBars(i).Index))+')'

   bars2=mandbars(i).accChildCount

   Forj=1Tobars2

       Try

           obj=mandbars(i).Controls(j)

           Str1=Str1+Chr(13)+''+Alltrim(Str(j))+'、'+mandbars(i).Controls(j).accname+'(ID:

'+Alltrim(Str(xlapp.CommandBars(i).Controls(j).Id))+')'

           Fork=1Toobj.accChildCount

               Try

                   IfNotEmpty(obj.Controls(k).accname)

                       Str1=Str1+Chr(13)+''+Alltrim(Str(k))+'、'+obj.Controls(k).accName+'(ID:

'+Alltrim(Str(obj.Controls(k).Id))+')'

                   Endif

              

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

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

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