主题:王工:请查收VFP--EXCEL控制方法!
前面一段为原网上提供的控制命令, 后面是我最近编程运用其命令, 以及有新增的内容,
现提供参考。
*1.创建Excel对象
eole=CREATEOBJECT('Excel.application')
* *2.添加新工作簿
eole.Workbooks.add
* * 3.设置第3个工作表为激活工作表
eole.Worksheets("sheet3").Activate
* * 4.打开指定工作簿
eole.Workbooks.Open("D:\资源调查系统\11.xls")
* * 5.显示Excel窗口
eole.visible=.t.
* 6.更改Excel标题栏
eole.Caption="VFP应用程序调用Microsoft Excel"
* 7.给单元格赋值
*eole.cells(1,4).value=XM(XM为数据库字段名)
eole.cells(1,4).value="XM(XM为数据库字段名)"
* 8.设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Columns(1).ColumnWidth=5
* 9.设置指定行的高度(单位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
* (设定行高为1厘米,1磅=0.035厘米)
* 10.在第18行之前插入分页符
eole.Worksheets("Sheet1").Rows(18).PageBreak=1
* * 11.在第4列之前删除分页符
eole.ActiveSheet.Columns(4).PageBreak=0
* 12.指定边框线宽度(Borders参数如下)
eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3
* * 13.设置四个边框线条的类型
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="报表1"
* * 15.设置页脚
eole.ActiveSheet.PageSetup.CenterFooter="第&P页"
* 16.设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
* 17.设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
* * 18.设置顶边距为2厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
* 19.设置底边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
* 20.设置左边距为2厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035
* 21.设置右边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
* 22.设置页面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
* 23.设置页面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t.
* 24.设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.ActiveSheet.PageSetup.PaperSize=1
* 25.打印单元格网线
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
* 26.拷贝整个工作表
*eole.ActiveSheet.UsedRange.Copy
* 27.拷贝指定区域
*eole.ActiveSheet.Range("A1:E2").Copy
* 28.粘贴
*eole.WorkSheet("Sheet2").Range("A1").PasteSpecial
* 29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
* 30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
* 31.设置字体
eole.ActiveSheet.Cells(2,1).Font.Name="黑体"
* * 32.设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
* 33.设置字体为斜体
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
* 34.设置整列字体为粗体
eole.ActiveSheet.Columns(1).Font.Bold=.t.
* 35.清除单元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
* 36.打印预览工作表
eole.ActiveSheet.PrintPreview
* 37.打印输出工作表
*eole.ActiveSheet.PrintOut
* 38.工作表另为
eole.ActiveWorkbook.SaveAs("D:\资源调查系统\22.xls")
* 39.放弃存盘
* eole.ActiveWorkbook.saved=.t.
* 40.关闭工作簿
eole.Workbooks.close
* 41.退出Excel
eole.quit
************************
USE &PPPP\data\编辑表1
COPY FIELDS 人员结构 TO ARRAY PP && 01表竖向取数
USE
BTMC='苏州市预算单位资源调查--单 位 概 况 表'
BBBB='编报单位:'+GKCS
eole=CREATEOBJECT('Excel.application') && 创建Excel对象 【】
eole.Workbooks.Open("&PPPP\汇总上报1_1.xls") && 打开指定工作簿
*eole.visible=.T. && 显示Excel窗口
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(3).ColumnWidth=10
eole.ActiveSheet.Columns("D:BE").ColumnWidth=9.5
*eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3 && 指定边框线宽度(Borders参数如下)
* (其中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.PageSetup.HeaderMargin=2/0.035 && 设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 && 设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.TopMargin=4/0.035 && 设置顶边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 && 设置底边距为4厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 && 设置左边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035 && 设置右边距为2厘米
eole.ActiveSheet.PageSetup.CenterHorizontally=.t. && 设置页面水平居中
*eole.ActiveSheet.PageSetup.CenterVertically=.t. && 设置页面垂直居中
eole.ActiveSheet.PageSetup.PaperSize=8 && 设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.ActiveSheet.PageSetup.Orientation=2 && 横向
eole.ActiveSheet.Rows(1).Insert && 在第1行之前插入一行
eole.ActiveSheet.Rows(1).Insert
*eole.cells(1,2).value="&BTMC" && 给单元格赋值
eole.cells(2,2).value="&BBBB" && 给单元格赋值
eole.ActiveSheet.Rows(1).RowHeight=1/0.035 && 设置指定行的高度(单位:磅)(设定行高为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.ROWS(2).Font.Name="宋体" && 设置字体
eole.ActiveSheet.ROWS(2).Font.Size=11 && 设置字体大小
eole.ActiveSheet.Rows(3).RowHeight=2/0.035 && 设置指定行的高度(单位:磅)(设定行高为1厘米,1磅=0.035厘米)
eole.ActiveSheet.ROWS(3).Font.Name="宋体" && 设置字体
eole.ActiveSheet.ROWS(3).Font.Size=10 && 设置字体大小
eole.ActiveSheet.ROWS(3).Font.Bold=.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.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" && 定义固定行
eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C" && 定义固定列
eole.ActiveSheet.PageSetup.CenterFooter="01表上年数__第&P页" && 设置页脚
eole.ActiveSheet.PageSetup.CenterHeader= "&14&BTMC" && 设置页眉
SSS=1
DO WHILE SSS<=54
eole.cells(3,SSS+3).value=ALLTRIM(PP(SSS)) && 给单元格赋值
SSS=SSS+1
ENDDO
*eole.ActiveSheet.PrintPreview && 打印预览工作表
eole.ActiveWorkbook.Save && 存盘(自动存盘)
eole.Workbooks.close && 关闭工作簿
eole.quit && 退出Excel
**************************************************************
现提供参考。
*1.创建Excel对象
eole=CREATEOBJECT('Excel.application')
* *2.添加新工作簿
eole.Workbooks.add
* * 3.设置第3个工作表为激活工作表
eole.Worksheets("sheet3").Activate
* * 4.打开指定工作簿
eole.Workbooks.Open("D:\资源调查系统\11.xls")
* * 5.显示Excel窗口
eole.visible=.t.
* 6.更改Excel标题栏
eole.Caption="VFP应用程序调用Microsoft Excel"
* 7.给单元格赋值
*eole.cells(1,4).value=XM(XM为数据库字段名)
eole.cells(1,4).value="XM(XM为数据库字段名)"
* 8.设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Columns(1).ColumnWidth=5
* 9.设置指定行的高度(单位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
* (设定行高为1厘米,1磅=0.035厘米)
* 10.在第18行之前插入分页符
eole.Worksheets("Sheet1").Rows(18).PageBreak=1
* * 11.在第4列之前删除分页符
eole.ActiveSheet.Columns(4).PageBreak=0
* 12.指定边框线宽度(Borders参数如下)
eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3
* * 13.设置四个边框线条的类型
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="报表1"
* * 15.设置页脚
eole.ActiveSheet.PageSetup.CenterFooter="第&P页"
* 16.设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
* 17.设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
* * 18.设置顶边距为2厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
* 19.设置底边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
* 20.设置左边距为2厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035
* 21.设置右边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
* 22.设置页面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
* 23.设置页面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t.
* 24.设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.ActiveSheet.PageSetup.PaperSize=1
* 25.打印单元格网线
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
* 26.拷贝整个工作表
*eole.ActiveSheet.UsedRange.Copy
* 27.拷贝指定区域
*eole.ActiveSheet.Range("A1:E2").Copy
* 28.粘贴
*eole.WorkSheet("Sheet2").Range("A1").PasteSpecial
* 29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
* 30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
* 31.设置字体
eole.ActiveSheet.Cells(2,1).Font.Name="黑体"
* * 32.设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
* 33.设置字体为斜体
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
* 34.设置整列字体为粗体
eole.ActiveSheet.Columns(1).Font.Bold=.t.
* 35.清除单元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
* 36.打印预览工作表
eole.ActiveSheet.PrintPreview
* 37.打印输出工作表
*eole.ActiveSheet.PrintOut
* 38.工作表另为
eole.ActiveWorkbook.SaveAs("D:\资源调查系统\22.xls")
* 39.放弃存盘
* eole.ActiveWorkbook.saved=.t.
* 40.关闭工作簿
eole.Workbooks.close
* 41.退出Excel
eole.quit
************************
USE &PPPP\data\编辑表1
COPY FIELDS 人员结构 TO ARRAY PP && 01表竖向取数
USE
BTMC='苏州市预算单位资源调查--单 位 概 况 表'
BBBB='编报单位:'+GKCS
eole=CREATEOBJECT('Excel.application') && 创建Excel对象 【】
eole.Workbooks.Open("&PPPP\汇总上报1_1.xls") && 打开指定工作簿
*eole.visible=.T. && 显示Excel窗口
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(3).ColumnWidth=10
eole.ActiveSheet.Columns("D:BE").ColumnWidth=9.5
*eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3 && 指定边框线宽度(Borders参数如下)
* (其中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.PageSetup.HeaderMargin=2/0.035 && 设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 && 设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.TopMargin=4/0.035 && 设置顶边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 && 设置底边距为4厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 && 设置左边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035 && 设置右边距为2厘米
eole.ActiveSheet.PageSetup.CenterHorizontally=.t. && 设置页面水平居中
*eole.ActiveSheet.PageSetup.CenterVertically=.t. && 设置页面垂直居中
eole.ActiveSheet.PageSetup.PaperSize=8 && 设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.ActiveSheet.PageSetup.Orientation=2 && 横向
eole.ActiveSheet.Rows(1).Insert && 在第1行之前插入一行
eole.ActiveSheet.Rows(1).Insert
*eole.cells(1,2).value="&BTMC" && 给单元格赋值
eole.cells(2,2).value="&BBBB" && 给单元格赋值
eole.ActiveSheet.Rows(1).RowHeight=1/0.035 && 设置指定行的高度(单位:磅)(设定行高为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.ROWS(2).Font.Name="宋体" && 设置字体
eole.ActiveSheet.ROWS(2).Font.Size=11 && 设置字体大小
eole.ActiveSheet.Rows(3).RowHeight=2/0.035 && 设置指定行的高度(单位:磅)(设定行高为1厘米,1磅=0.035厘米)
eole.ActiveSheet.ROWS(3).Font.Name="宋体" && 设置字体
eole.ActiveSheet.ROWS(3).Font.Size=10 && 设置字体大小
eole.ActiveSheet.ROWS(3).Font.Bold=.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.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" && 定义固定行
eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C" && 定义固定列
eole.ActiveSheet.PageSetup.CenterFooter="01表上年数__第&P页" && 设置页脚
eole.ActiveSheet.PageSetup.CenterHeader= "&14&BTMC" && 设置页眉
SSS=1
DO WHILE SSS<=54
eole.cells(3,SSS+3).value=ALLTRIM(PP(SSS)) && 给单元格赋值
SSS=SSS+1
ENDDO
*eole.ActiveSheet.PrintPreview && 打印预览工作表
eole.ActiveWorkbook.Save && 存盘(自动存盘)
eole.Workbooks.close && 关闭工作簿
eole.quit && 退出Excel
**************************************************************