VFP控制EXCEL地方法终于找到了.docx
《VFP控制EXCEL地方法终于找到了.docx》由会员分享,可在线阅读,更多相关《VFP控制EXCEL地方法终于找到了.docx(18页珍藏版)》请在冰豆网上搜索。
![VFP控制EXCEL地方法终于找到了.docx](https://file1.bdocx.com/fileroot1/2022-10/26/42c6f1c4-54be-4f2e-86cb-3f9f2bb2c02f/42c6f1c4-54be-4f2e-86cb-3f9f2bb2c02f1.gif)
VFP控制EXCEL地方法终于找到了
VFP控制EXCEL的常用方法
oExl=CREATEOBJECT('Excel.application')
oExl.Visible=.T.
oExl.DefaultSaveFormat=39
oExl.SheetsInNewWorkbook=1
oExl.Workbooks.Open(cXLS)
oExl.WindowState=-4140&&窗口最小化
oExl.WindowState=-4143&&窗口正常化
oExl.WindowState=-4147&&窗口最大化
*------------------------------------------------------*
&&页面设置
oExl.ActiveSheet.PageSetup.PrintTitleRows="$1:
$3"&&打印标题
oExl.ActiveSheet.PageSetup.Orientation=2&&页面方向:
1纵向/2横向
*oExl.ActiveSheet.PageSetup.PaperSize=11&&纸尺寸:
9-A4/11-A5
oExl.ActiveSheet.PageSetup.TopMargin=0.8/0.&&顶边距
oExl.ActiveSheet.PageSetup.BottomMargin=0.8/0.&&底边距
oExl.ActiveSheet.PageSetup.LeftMargin=0&&左边距
oExl.ActiveSheet.PageSetup.RightMargin=0&&右边距
oExl.ActiveSheet.PageSetup.CenterHorizontally=.T.&&页面居中
oExl.ActiveSheet.PageSetup.HeaderMargin=0.5/0.
oExl.ActiveSheet.PageSetup.FooterMargin=0.5/0.
oExl.ActiveSheet.PageSetup.LeftHeader="&9表格"”9是字号”
oExl.ActiveSheet.PageSetup.CenterHeader=""
oExl.ActiveSheet.PageSetup.RightHeader="&9"
oExl.ActiveSheet.PageSetup.LeftFooter=""
oExl.ActiveSheet.PageSetup.CenterFooter="&9第&P页,共&N页"
oExl.ActiveSheet.PageSetup.RightFooter="&9制表人:
'+代码+'制表时间:
"+TTOC(DATETIME())
*------------------------------------------------------*
&&整体格式设置
oExl.ActiveSheet.Rows.Font.Size=9
oExl.ActiveSheet.Rows.Font.Name='宋体'
oExl.ActiveSheet.Rows.RowHeight=0.5/0.
oExl.ActiveSheet.Rows.NumberFormatLocal="0.00_;[红色]-0.00"
oExl.ActiveSheet.Rows.VerticalAlignment=2&&单元格容垂直居中
*------------------------------------------------------*
&&获取最大行号和最大列号
LocalnMaxRow,nMaxCol
nMaxRow=oExl.ActiveSheet.UsedRange.Rows.Count
nMaxCol=oExl.ActiveSheet.UsedRange.Columns.Count
&&表头格式设置
oExl.ActiveSheet.Rows
(1).Font.Size=16
oExl.ActiveSheet.Rows
(1).Font.Bold=.T.
oExl.ActiveSheet.Rows
(1).RowHeight=1/0.
oExl.ActiveSheet.Rows
(1).HorizontalAlignment=3
oExl.ActiveSheet.Rows
(2).HorizontalAlignment=3
oExl.ActiveSheet.Rows(3).HorizontalAlignment=3
oExl.ActiveSheet.Rows(3).Font.Bold=.T.
oExl.ActiveSheet.Range('A1:
'+CHR(96+nMaxCol)+'1').Merge
oExl.ActiveSheet.Range('A2:
'+CHR(96+nMaxCol)+'2').Merge
*------------------------------------------------------*
&&条件格式隐藏0值
oExl.ActiveSheet.UsedRange.FormatConditions.Delete
oExl.ActiveSheet.UsedRange.FormatConditions.Add(1,3,'0')
oExl.ActiveSheet.UsedRange.FormatConditions
(1).Font.ColorIndex=2&&文字白色
*------------------------------------------------------*
oExl.ActiveSheet.Range('A1:
B1').Interior.ColorIndex=6&&单元格底纹黄色
*------------------------------------------------------*
oExl.ActiveSheet.Columns.AutoFit&&自动列宽
oExl.ActiveSheet.Range("A3:
"+CHR(96+nMaxCol)+ALLTRIM(STR(nMaxRow))).Borders.Weight=2&&边框线
*------------------------------------------------------*
&&自动筛选
IF!
oExl.ActiveSheet.AutoFilterMode&&判断是否存在自动筛选
oExl.ActiveSheet.Rows(3).Autofilter&&如果不存在自动筛选,则添加自动筛选
ENDIF
*------------------------------------------------------*
&&冻结窗格
oExl.ActiveSheet.Range('D4').Select
oExl.ActiveWindow.FreezePanes=.T.
*------------------------------------------------------*
*------------------------------------------------------*
&&分类汇总
LocalArry
(1),nMaxRow,nMaxCol
Arry
(1)=5
nMaxRow=oExl.ActiveSheet.UsedRange.Rows.Count
nMaxCol=oExl.ActiveSheet.UsedRange.Columns.Count
oExl.ActiveSheet.Range('A3:
'+chr(96+nMaxCol)+alltrim(str(nMaxRow))).Subtotal(2,-4157,Arry,.T.,.F.,.T.)&&按第2列分类汇总数组Arry保存的列
*------------------------------------------------------*
1、对象的创建与关闭
*******************************
oExl=CREATEOBJECT('Excel.application') &&创建Excel对象
oExl.SheetsInNewWorkbook=1&&新建工作簿默认包含工作表个数
oExl.Workbooks.Add &&新建工作簿,工作表个数由SheetsInNewWorkBooks属性指定
oExl.Workbooks.Open(cXLS,3,.T.) &&打开指定工作簿(更新/只读打开)
oExl.Workbooks.Open(cXLS,[UpdateLinks],[ReadOnly],[Format],[Password],[WriteResPassword],[IgnoreReadOnlyRecommended],[Origin],[Delimiter],[Editable],[Notify],[Converter],[AddToMru],[Local],[CorruptLoad])
oExl.Worksheets(cSheet).Activate &&激活工作表Sheet3
oExl.Worksheets(3).Activate&&激活(从左到右)第3个工作表
oExl.WorkSheets.Count&&工作簿中工作表数
oExl.DefaultSaveFormat=39&&默认格式Excel5.0
oExl.DisplayAlerts=.F.&&不显示警告信息
oExl.Visible=.T. &&显示Excel窗口
oExl.Visible=.F. &&不显示Excel窗口
oExl.Caption="Excel标题栏" &&更改Excel标题栏
oExl.WorkSheet("Sheet2").Range("A1").PasteSpecial &&粘贴
oExl.Quit &&退出Excel
oExl.DisplayRecentFiles=.T.&&是否显示最近打开文档
oExl.RecentFiles.Maximum=4&&历史最大纪录数
oExl.UserName="XXXX"&&用户名
oExl.StandardFont="宋体"&&标准字体
oExl.StandardFontSize="12"&&标准字体大小
oExl.DefaultFilePath="D:
\XXXXXX\"&&默认工作目录
oExl.EnableSound=False&&声音反馈
oExl.RollZoom=False&&智能鼠标缩放
oExl.TransitionMenuKey="/"&&MicrosoftOfficeExcel菜单键
oExl.ActiveWorkbook.Password="123"
oExl.ActiveWorkbook.WritePassword="456"
oExl.ActiveWorkbook.ReadOnlyRecommended=False
oExl.ActiveWorkbook.SetPasswordEncryptionOpti