.
最近正好有空,看到不少人对VFP控制EXCEL有兴趣,现将上次的“精华贴”重新整理一下,供各位爱好者参考!
oExcel.Selection.NumberFormatLocal = \&&把被选定的单元格设为文本格式
1、对象的创建与关闭 *******************************
eole=CREATEOBJECT('Excel.application') && 创建Excel对象 eole.Workbooks.add && 添加新工作簿
eole.Worksheets(\ && 设置第3个工作表为激活工作表 eole.Workbooks.Open(\ && 打开指定工作簿 eole.visible=.t. && 显示Excel窗口 eole.visible=.F. && 不显示Excel窗口
eole.Caption=\应用程序调用Microsoft Excel\ && 更改Excel标题栏 eole.ActiveWorkbook.SaveAs(\ && 工作表另为 eole.ActiveWorkbook.saved=.t. && 放弃存盘
eole.ActiveSheet.UsedRange.Copy && 拷贝整个工作表 eole.ActiveSheet.Range(\ && 拷贝指定区域 eole.WorkSheet(\ && 粘贴
eole.ActiveWorkbook.Save && 存盘(自动存盘不提问) eole.Workbooks.close && 关闭工作簿 eole.quit && 退出Excel
2、单元格的设置 ***********************************
eole.ActiveSheet.Columns(\ && 删除列 eole.ActiveSheet.Columns(\ && 删除列
eole.ActiveSheet.Columns(1).ColumnWidth=20 && 列的宽度(单位:字符个数) eole.ActiveSheet.Columns(2).ColumnWidth=30 eole.ActiveSheet.Columns(\
eole.Selection.Columns.AutoFit && 最适合的列宽 Word文档资料
.
eole.ActiveSheet.Range(\ && 指定边框线宽度 (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/; LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
eole.ActiveSheet.Range(\&& 设置四个边框线条的类型 eole.ActiveSheet.Range(\&& 设置四个边框线条的类型 eole.ActiveSheet.Range(\&& 设置四个边框线条的类型 eole.ActiveSheet.Range(\&& 设置四个边框线条的类型
eole.ActiveSheet.Rows(1).Insert && 在第1行之前插入一行 eole.ActiveSheet.Columns(2).Insert && 在第2列之前插入一列 eole.cells(1,2).value=\ && 给单元格赋值 eole.cells(2,2).value=\ && 给单元格赋值 eole.ActiveSheet.Cells(1,4).ClearContents && 清除单元格公式
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.Cells(1,1).Font.Italic=.t. && 设置字体为斜体 eole.Range(\
eole.selection.WrapText = .T. && 自动换行
eole.selection.HorizontalAlignment=3 && 水平方向 2左对齐,3居中,4右对齐 eole.selection.VerticalAlignment = 2 && 垂直方向 1靠上 ,2居中,3靠下
eole.Range(\
eole.selection.MergeCells = .T. && 合并单元
eole.selection.HorizontalAlignment=2 && 水平方向 2左对齐,3居中,4右对齐 Word文档资料
.
eole.selection.VerticalAlignment = 2 && 垂直方向 1靠上 ,2居中,3靠下
eole.Range(\
eole.Selection.Interior.ColorIndex = 34 && 设置行颜色为[淡兰]
eole.ActiveSheet.Range(\= ;
\* #,##0.00_ ; _ * -#,##0.00_ ;_ * \;_ @_ \ && 指定区域内的数字显示格式
3、打印页面的设置 *********************************
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-窄行8 5 11 39-宽行14 11) eole.ActiveSheet.PageSetup.Orientation=2 && 横向
eole.ActiveSheet.PageSetup.PrintTitleRows=\ && 定义固定行 eole.ActiveSheet.PageSetup.PrintTitleColumns=\ && 定义固定列 eole.ActiveSheet.PageSetup.CenterHeader= \ && 设置页眉 eole.ActiveSheet.PageSetup.CenterFooter=\表__第&P页\ && 设置页脚
eole.Worksheets(\ && 在第18行之前插入分页符 eole.ActiveSheet.Columns(4).PageBreak=0 && 在第4列之前删除分页符 eole.ActiveSheet.PageSetup.PrintGridlines=.t. && 打印单元格网线
eole.ActiveSheet.PrintPreview && 打印预览工作表 Word文档资料
.
eole.ActiveSheet.PrintOut && 打印输出工作表
oExcel.ActiveSheet.PageSetup.Zoom=90 &&缩放90%
4、记录条数的利用 *********************************
一般来讲,EXCEL表的来源为DBF文件,列、行应该是可以预知的 USE 111 COUNT TO AAA USE
FWQ = \ ?为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文件 ********************************* DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ; STRING lpszFile, STRING, STRING, INTEGER operate= \
ShellExecute(0,operate,\ && EXCEL文件 ShellExecute(0,operate,\ && WORD文件
****************************************
VFP全面控制EXCEL
本文来自CSDN博客:http://blog.csdn.net/apple_8180/archive/2006/04/22/672913.aspx
VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍:
Word文档资料
.
*!* 1.创建Excel对象
oExcel=Createobject(\
*!* 2.添加新工作簿 oExcel.Workbooks.Add
*!* 3.设置第3个工作表为激活工作表 oExcel.Worksheets(\Activate
*!* 4.打开指定工作簿
oExcel.Workbooks.Open(\c:\\temp\\ll.xls\
*!* 5.显示Excel窗口 oExcel.Visible=.T.
*!* 6.更改Excel标题栏
oExcel.Caption=\应用程序调用Microsoft Excel\
*!* 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(\RowHeight=1 &&设置第50行至100行的高度
Word文档资料