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.035 &&顶边距
oExl.ActiveSheet.PageSetup.BottomMargin=0.8/0.035 &&底边距
oExl.ActiveSheet.PageSetup.LeftMargin=0 &&左边距
oExl.ActiveSheet.PageSetup.RightMargin=0 &&右边距
oExl.ActiveSheet.PageSetup.CenterHorizontally=.T. &&页面居中
oExl.ActiveSheet.PageSetup.HeaderMargin=0.5/0.035
oExl.ActiveSheet.PageSetup.FooterMargin=0.5/0.035
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
https://www.doczj.com/doc/373804142.html,='宋体'
oExl.ActiveSheet.Rows.RowHeight=0.5/0.035
oExl.ActiveSheet.Rows.NumberFormatLocal="0.00_ ;[红色]-0.00"
oExl.ActiveSheet.Rows.VerticalAlignment=2 &&单元格容垂直居中
*------------------------------------------------------*
&&获取最大行号和最大列号
Local nMaxRow,nMaxCol
nMaxRow=https://www.doczj.com/doc/373804142.html,edRange.Rows.Count
nMaxCol=https://www.doczj.com/doc/373804142.html,edRange.Columns.Count
&&表头格式设置
oExl.ActiveSheet.Rows(1).Font.Size=16
oExl.ActiveSheet.Rows(1).Font.Bold=.T.
oExl.ActiveSheet.Rows(1).RowHeight=1/0.035
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值
https://www.doczj.com/doc/373804142.html,edRange.FormatConditions.Delete
https://www.doczj.com/doc/373804142.html,edRange.FormatConditions.Add(1,3,'0')
https://www.doczj.com/doc/373804142.html,edRange.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.
*------------------------------------------------------*
*------------------------------------------------------*
&&分类汇总
Local Arry(1),nMaxRow,nMaxCol
Arry(1)=5
nMaxRow=https://www.doczj.com/doc/373804142.html,edRange.Rows.Count
nMaxCol=https://www.doczj.com/doc/373804142.html,edRange.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 &&默认格式Excel 5.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 &&历史最大纪录数
https://www.doczj.com/doc/373804142.html,erName="XXXX" &&用户名
oExl.StandardFont="宋体" &&标准字体
oExl.StandardFontSize="12" &&标准字体大小
oExl.DefaultFilePath="D:\XXXXXX\" &&默认工作目录
oExl.EnableSound=False &&声音反馈
oExl.RollZoom=False &&智能鼠标缩放
oExl.TransitionMenuKey="/" &&Microsoft Office Excel菜单键
oExl.ActiveWorkbook.Password="123"
oExl.ActiveWorkbook.WritePassword="456"
oExl.ActiveWorkbook.ReadOnlyRecommended=False
oExl.ActiveWorkbook.SetPasswordEncryptionOptions PasswordEncryptionProvider:="", _
PasswordEncryptionAlgorithm:="OfficeStandard", PasswordEncryptionKeyLength:=40 _
, PasswordEncryptionFileProperties:=False
IF oExl.ActiveWorkbook.FileFormat==39 &&格式为Excel 5.0工作簿ENDIF
oExl.ActiveWorkBook.SaveAs(FileName,FileFormat,PassWord,WriteResPassWord,ReadOn lyRecommended,CreateBackup)
&&另存为
&&参数说明
FileName 字符型,指定文件名
FileFormat 数值型,文件格式
-4143 Microsoft Office Excel
11 DBF4
39 Microsoft Excel 5.0/95
43 Microsoft Excel97-Excel2003 & 5.0/95
44 网页Html文件
-4158 文本文件(制表符分隔)
PassWord 字符型,只读密码
WriteResPassWord 字符型,写密码
ReadOnlyRecommended 逻辑型,建议只读
CreateBackup 逻辑型,自动备份
例如:oExl.ActiveWorkBook.SaveAs("d:\1.xls",39)
oExl.ActiveWorkbook.saved=.T. &&放弃存盘
oExl.ActiveWorkbook.Save &&存盘(自动存盘不提问)oExl.Workbooks.close &&关闭工作簿
3、单元格的设置
***********************************
&&冻结窗格
oExl.ActiveSheet.Range('D4').Select
oExl.ActiveWindow.FreezePanes = .T.
&&条件格式设定
oExl.ActiveSheet.Range('A1:H18').FormatConditions.Add(Type,Operator,Formula1,Formul a2)
Type 类型(1单元格数值,2公式)
Operator 操作符(1介于,2不介于,3等于,4不等于,5大于,6小于,7大于等于,8小于等于)
Formula1 表达式1
Formula2 表达式2,操作符为1介于或2不介于才有效
&&条件格式例句:数值为0者,文字颜色白色
https://www.doczj.com/doc/373804142.html,edRange.FormatConditions.Delete
https://www.doczj.com/doc/373804142.html,edRange.FormatConditions.Add(1,3,'0')
https://www.doczj.com/doc/373804142.html,edRange.FormatConditions(1).Font.ColorIndex=2&&文字白色
&&编辑
https://www.doczj.com/doc/373804142.html,edRange.Copy &&拷贝整个工作表
oExl.ActiveSheet.Range("A1:E2").Copy &&拷贝指定区域
oExl.ActiveSheet.Columns("D:D").Delete &&删除列
oExl.ActiveSheet.Columns("A:B").Delete &&删除列
oExl.ActiveSheet.Rows(1).Insert &&在第1行之前插入一行oExl.ActiveSheet.Columns(2).Insert &&在第2列之前插入一列oExl.ActiveSheet.Cells(1,2).Value="ABTMC" &&给单元格赋值
oExl.ActiveSheet.Cells(2,2).Value="&BBBB" &&给单元格赋值
oExl.ActiveSheet.Cells(1,4).ClearContents &&清除单元格公式
oExl.ActiveSheet.Rows(18).PageBreak=1 &&在第18行之前插入分页符
oExl.ActiveSheet.Columns(4).PageBreak=0 &&在第4列之前删除分页符
oExl.ActiveSheet.Rows(3).AutoFilter &&自动筛选
oExl.ActiveSheet.Cells(1,1).Delete(-4159) &&删除单元格
-4159 右边单元格左移
-4162 下边单元格上移
oExl.Selection.EntireRow.Delete &&所在行整行删除
oExl.Selection.EntireColumn.Delete &&所在列整列删除
oExl.ActiveSheet.Cells(1,1).Insert(-4142) &&插入单元格
-4142 活动单元格下移
-4161 活动单元格右移
oExl.ActiveSheet.Selection.EntireRow.Insert &&插入行
oExl.ActiveSheet.Selection.EntireColumn.Insert &&插入列
&&选择性粘贴
oExl.ActiveSheet.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Paste 粘贴数据:8列宽,11公式和数值格式,12数值与数值格式,-4104全部,-4123公式,-4163数值,-4122格式,
Operation 运算符:-4142无,2加,3减,4乘,5除
SkipBlanks 跳过空白单元:逻辑型
Transpose 转置:逻辑型
--------------------------------------------------
&&排序
成功例句:
oExl.ActiveSheet.Range('A1:'+CHR(96+nMaxCol)+ALLTRIM(STR(nMaxRow))).Sort(oExl.A ctiveSheet.Range(CHR(96+ASCAN(Arry,'原币金额'))+'2'),2,,,,,,1)
&&按"原币金额"所在列降序排列,有标题
oExl.ActiveSheet.Rows('1:28').Sort
Key1:=Range("A2"), Order1:=xlDescending,
Key2:=Range("B2"), Order2:=xlAscending,
Key3:=Range("C2"), Order3:=xlDescending,
Header:=xlYes,
OrderCustom:=6,
MatchCase:=True,
Orientation:=xlTopToBottom,
SortMethod:=xlStroke,
DataOption1:=xlSortNormal,
DataOption2:=xlSortNormal,
DataOption3:=xlSortNormal
参数说明:
2 xlDescending降序
1 xlAscenging升序
标题行:
0 xlGuess
1 xlYes,
2 xlNo
1 xlTopToBottom
排序方法:
1 xlPinYin,
2 xlStroke
0 xlSortNormal
Key1 排序字段:取值类型是围oExl.ActiveSheet.Range('B2')
Order1 升序降序:xlAscending=1升序,xlDescending=2降序
Header 有无标题:xlGuess=0自动判断,xlYes=1有,xlNo=2无
orderCustom 排序顺序:1普通,6日一二三
MatchCase 是否区分大小写:T区分,F不区分
Orientation 1从头到底,2从左到右
SortMethod 排序方法:xlPinYin=1拼音,xlStroke=2字母
DataOption1 xlSortNormal=0正常
DataOption2
DateOption3
&&分类汇总
LOCAL Array(1)
Array(1)=5
oExl.ActiveSheet.Range('A1:G28').Subtotal(2,-4157,Array,.T.,.F.,.T.)
参数列表:
GroupBy:=2, Function:=xlSum, TotalList:=Array(3), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
参数说明:
GroupBy 分组字段序号
Function 汇总方式:-4157求和,-4112计数
TotalList 汇总数据项:保存汇总列序号的数组引用
Replace 替换当前分类汇总:逻辑型,默认T
PageBreaks 每组数据分页:逻辑型,默认F
SummaryBelowData 汇总结果显示在数据下方:逻辑型,默认T
&&汇总结果表间切换
oExl.ActiveSheet.Outline.ShowLevels RowLevels:=2
oExl.ActiveSheet.Outline.ShowLevels RowLevels:=1
oExl.ActiveSheet.Outline.ShowLevels RowLevels:=3
&&数值格式设置
oExl.ActiveSheet.Range("A").NumberFormatLocal="0.00" &&指定区域的数字显示格式
&&对齐设置
oExl.ActiveSheet.Range('A1:B1').HorizontalAlignment=3 &&水平方向2左对齐,3居中,4右对齐
https://www.doczj.com/doc/373804142.html,edRange.VerticalAlignment=2 &&垂直方向1靠上,2居中,3靠下
oExl.ActiveSheet.Range('A1:B1').WrapText=.T. &&自动换行
oExl.ActiveSheet.Range('A1:B1').Orientation = -4166 &&文字方向
-4166 垂直向下
oExl.ActiveSheet.Range('A1:B1').AddIndent = False &&缩进
oExl.ActiveSheet.Range('A1:B1').IndentLevel = 2 &&缩进2字符
oExl.ActiveSheet.Range('A1:B1').ShrinkToFit = .T. &&缩小以填充
oExl.ActiveSheet.Range('A1:B1').ReadingOrder = -5002 &&文字阅读方向
-5002 根据容
-5003 从左到右
oExl.selection.MergeCells=.T. &&合并单元
oExl.selection.HorizontalAlignment=2 &&水平方向2左对齐,3居中,4右对齐
oExl.selection.VerticalAlignment=2 &&垂直方向1靠上,2居中,3靠下
&&字体设置
oExl.ActiveSheet.ROWS(1)https://www.doczj.com/doc/373804142.html,="黑体" &&设置字体
oExl.ActiveSheet.ROWS(1).Font.FontStyle="常规"
oExl.ActiveSheet.ROWS(1).Font.Size=14 &&设置字体大小
oExl.ActiveSheet.ROWS(1).Font.Bold=.T. &&设置整行字体为粗体oExl.ActiveSheet.ROWS(1).Font.StrikeThrough=.T. &&删除线
oExl.ActiveSheet.Cells(1,1).Font.Italic=.T. &&设置字体为斜体
oExl.ActiveSheet.ROWS(1).Font.Superscript = .T. &&上标
oExl.ActiveSheet.ROWS(1).Font.Subscript = .T. &&下标
oExl.ActiveSheet.ROWS(1).Font.OutlineFont = False
oExl.ActiveSheet.ROWS(1).Font.Shadow = False
oExl.ActiveSheet.ROWS(1).Font.Underline = -4142 &&下划线
oExl.ActiveSheet.ROWS(1).Font.ColorIndex = -4105 &&字体颜色自动设置
oExl.ActiveSheet.ROWS(1).Font.Underline = 2 &&下划线类型
下划线类型
2 单下划线
&&边框设置
oExl.ActiveSheet.Range("b3:d3").Borders.Weight=2 &&指定边框线宽度其中Borders参数:1-左、2-右、3-顶、4-底、5-斜\、6-斜/;不带参数表示默
认上下左右四个边框
LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
oExl.ActiveSheet.Range("A1:BE29").Borders(1).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(2).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(3).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(4).LineStyle=1 &&设置四个边框线条的类型
&&1 xlContinuous
&&2 x lThin
&&5 x lDiagonalDown
&&6 x lDiagonalUp
&&10 xlEdgeRight
&&12 xlInsideHorizontal
&&行列设置
oExl.ActiveSheet.Columns(1).ColumnWidth=20 &&列的宽度(单位:字符个数)
oExl.ActiveSheet.Columns(2).ColumnWidth=30
oExl.ActiveSheet.Columns("C:BE").ColumnWidth=9.5
oExl.ActiveSheet.Columns.AutoFit &&最适合的列宽
oExl.ActiveSheet.Rows(1).RowHeight=1/0.035 &&设置指定行的高度(单位:磅)(行高为1厘米,1磅=0.035厘米)
oExl.ActiveSheet.Range('A1:B1').Interior.ColorIndex=nColorIndex &&设置底纹
常用颜色值ColorIndex
1 黑色
2 白色
3 红色
4 鲜绿
5 蓝色
6 黄色
7 粉红
8 青绿
9 深红
10 绿色
13 紫罗兰
15 灰-25%
34 浅青绿
36 浅黄
38 玫瑰红
39 淡紫
40 茶色
42 水绿
46 橙色
53 褐色
54 梅兰
oExl.ActiveSheet.Range('P3:P4').Orientation=-4166 &&文字方向垂直
&&同一工作簿中复制工作表副本
oExl.WorkSheets(1).Copy(oExl.ActiveWorkBook.Sheets(1))
&&不同工作簿
oExl.Sheets(1).copy(oExl.Workbooks("BOOK1.XLS").Sheets(1))
3、页面设置
***********************************************
oExl.ActiveSheet.PageSetup.TopMargin=2/0.035 &&设置顶边距oExl.ActiveSheet.PageSetup.BottomMargin=1.5/0.035 &&设置底边距oExl.ActiveSheet.PageSetup.LeftMargin=0 &&设置左边距oExl.ActiveSheet.PageSetup.RightMargin=0 &&设置右边距
&&页眉页脚
oExl.ActiveSheet.PageSetup.HeaderMargin=1.5/0.035 &&设置页眉边距oExl.ActiveSheet.PageSetup.FooterMargin=0.8/0.035 &&设置页脚边距oExl.ActiveSheet.PageSetup.LeftHeader="&9XXXXXX"
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制表人:xxx "
&P页序号
&N页总数
&D日期,&T时间
&S删除线
&Y下标
&Z路径
&F文件
&A标签
&G图片
&X上标
&""隶属,倾斜""
&9九号字体
&U下划线
&B粗体
&&左页眉图片设定
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Filename="D:\2.jpg"
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Height = 45
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Width = 11.25
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Brightness = 0.51
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.ColorType = msoPictureGrayscale oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropBottom = 28.35
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropLeft = 28.35
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropRight = 28.35
oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropTop = 28.35
oExl.ActiveSheet.PageSetup.CenterHorizontally=.T. &&设置页面水平居中oExl.ActiveSheet.PageSetup.CenterVertically=.T. &&设置页面垂直居中
&&设置页面纸大小
oExl.ActiveSheet.PageSetup.Orientation=2 &&页面方向2表示横向oExl.ActiveSheet.PageSetup.PaperSize=11
纸大小:
9 A4
11 A5
70 A6
oExl.ActiveSheet.PageSetup.Draft=.T.
oExl.ActiveSheet.PageSetup.FirstPageNumber=1
oExl.ActiveSheet.PageSetup.Order=1
&&单色打印
oExl.ActiveSheet.PageSetup.BlackAndWhite=.T.
oExl.ActiveSheet.PageSetup.PrintComments=-4142
oExl.ActiveSheet.PageSetup.Zoom=100 &&缩放100%
oExl.ActiveSheet.PageSetup.Zoom=.F. &&禁用缩放
oExl.ActiveSheet.PageSetup.FitToPagesWide=1 &&调整为一页宽
oExl.ActiveSheet.PageSetup.FitToPagesTall=1 &&调整为一页高
oExl.ActiveSheet.PageSetup.PrintHeadings=.T.
oExl.ActiveSheet.PageSetup.PrintGridLines=.T.
oExl.ActiveSheet.PageSetup.PrintErrors=
oExl.ActiveSheet.PageSetup.PrintQuality=600 &&打印质量
oExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" &&固定标题行
oExl.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C" &&固定标题列
oExl.ActiveSheet.PageSetup.PrintGridlines=.T. &&打印单元格网线
*********************************************************
&&打印
oExl.ActiveSheet.PrintPreview &&打印预览工作表oExl.ActiveSheet.PageSetup.PrintArea="$A$1:$E$30" &&设置打印区域ActiveSheet.PageSetup.PrintArea = "" &&取消打印区域ActiveWorkbook.WebPagePreview &&网页预览
oExl.ActiveSheet.PrintOut &&打印输出工作表
5、VFP下直接调用EXCEL、WORD文件
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING,STRING lpszFile,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文件oExcel=Createobject("Excel.application")&&创建Excel对象
**对象属性
1、添加
Sheets.Add before:=Sheets(1) '在第1工作表前添加新工作表
Sheets.Add after:=Sheets(Sheets.Count) '在最后工作表后添加新工作表
2、移动
ActiveSheet.Move before:=Sheets(2) '将当前工作表移动至第2工作表之前
3、命名
https://www.doczj.com/doc/373804142.html,="工作表名" '将当前工作表命名为"工作表名"
4、删除
可以用以下语句删除当前工作表。
ActiveSheet.Delete
但在删除前Excel会自动弹出提示框,需在用户确认后方可执行删除。为避免这一干扰,可以先用以下语句关闭Excel的警告提示。
Application.DisplayAlerts = False
在删除完成后,再重新打开Excel的警告提示
oExcel.Visible=.T.&&显示Excel窗口
oExcel.Caption="VFP应用程序调用MicrosoftExcel"&&更改Excel标题栏
oExcel.DisplayAlerts=.F.&&关闭提示和警告消息,运行结束后,应将本属性设置回True值
oExcel.cells(1,4).Value=XM(XM为数据库字段名)&&给单元格赋值
**Workbooks属性
oExcel.Workbooks.Add&&添加新工作簿
oExcel.Workbooks.Open("c:\temp\ll.xls")&&打开指定工作簿
oExcel.Workbooks.Close&&关闭工作簿
oExcel.Quit&&退出Excel
ReleaseoExcel&&只有释放对象变量,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:\temp\22.xls")&&工作表另存为
oExcel.ActiveWorkbook.saved=.T.&&放弃存盘,避免出现保存对话框
oExcel.ActiveWorkbook.Save&&存盘
oExcel.ActiveWorkbook.Close(.F.)&&关闭工作簿
oExcel.ActiveWorkbook.Protect('密码',.T.,.T.)&&保护工作薄(第一个.T.:保护工作簿结构,第二个.T.:保护工作簿窗口)
**ActiveSheet属性
https://www.doczj.com/doc/373804142.html,edRange.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-双细实线)
**页面设置
WITHoExcel.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-窄行851139-宽行14119:A4)
.Orientation=1&&设置纸方向(1-竖向,2-横向)
.PrintTitleRows="$1:$2"&&设置顶端标题行,(每页都打印行标头(每页顶部出现的单元格的行))
.PrintGridlines=.T.&&打印单元格网线
.Zoom=75&&设置缩放比例为75%
ENDWITH
**单元格设置
WITHoExcel.ActiveSheet.Cells(1,1)&&第一行第一列单元格
https://www.doczj.com/doc/373804142.html,="黑体"&&字体名字
.Font.Size=25&&大小
.Font.Italic=.T.&&为斜体(Bold-粗体)
.Value="数值"&&给单元格赋值
.ClearContents&&清除单元格公式ENDWITH