VFP控制Excel操作集
◆访问EXCEL:ExcelSheet = GetObject('','Excel.Sheet')
返回结果为类,则成功。例:
ExcelSheet = GetObject('','Excel.Sheet')
If Type("ExcelSheet")#'O' Then
=MessageBox( "访问Excel失败!请检查你的系统是否正确安装 Excel 软件!",48,"Excel不正常")
Return
EndIf
◆创建EXCEL实例:oExcel=CreateObject("Excel.Application")
该实例创建后,任何对EXCEL的操作都针对该实例进行,关闭EXCEL后应释放该实例变量:Release oExcel
◆打开已存在的EXCEL文件:oExcel.WorkBooks.Open("&lcFileName") &&lcFileName为Excel文件名
打开带有读写密码的文件:oExcel.WorkBooks.Open("&lcFileName",,.F.,,"&R_Pwd","&W_Pwd") &&lcFileName-文件名,R_Pwd-读密码,W_Pwd-写密码,第二个参数表示读写方式:.T.只读,.F.读写
◆设置新增工作薄的工作表数:oExcel.SheetsInNewWorkbook=1 &&新建工作表数量定为1个
◆新增EXCEL工作薄:oExcel.WorkBooks.Add
◆当前工作薄工作表总数:oExcel.WorkSheets.Count &&如:lnSheetCnt=oExcel.WorkSheets.count
◆新增EXCEL工作表:oExcel.Sheets.Add &&不带参数为增加至当前工作表之前
在指定工作表后新建工作表:oExcel.Sheets.Add(,oExcel.Sheets(lnSheet),1,-4167) &&lnSheet为指定表号
在最后工作表后新建工作表:oExcel.Sheets.Add(,lnSheetsCnt,1,-4167) &&lnSheetCnt为工作表总数
◆激活工作表:oExcel.WorkSheets("Sheet1").Activate &&激活工作表1
删除工作表:oExcel.WorkSheets("Sheet2").Delete &&删除工作表2
命名工作表:oExcel.WorkSheets("Sheet3").Name="新表" &&重命名工作表3
◆使EXCEL可视:oExcel.Visible=.T.
◆Excel的窗口控制:oExcel.WindowState = -4140 &&最小化=-4140,最大化=-4137,还原=-4143
◆后台操作报警关闭:oExcel.DisplayAlerts=.F. &&关闭(.F.) 打开(.T.)
◆设置工作薄的标题:oExcel.Caption="Vfp控制Excel操作"
◆当前工作薄换名存盘:oExcel.ActiveWorkBook.SaveAs("&lcFileName")
换名存为文本文件:oExcel.ActiveWorkBook.Saveas("&lcFileName",-4158)
加密码换名存盘:oExcel.ActiveWorkbook.SaveAs(&lcFileName,-4143,[3721],[3721],.F., .F.)
◆工作薄存盘:oExcel.WorkBooks.Save
◆关闭工作薄:oExcel.WorkBooks.Close
◆退出EXCEL:oExcel.Quit &&关闭EXCEL后通常应释放实例变量:Release oExcel
◆打印当前工作簿:oExcel.ActiveWorkBook.PrintOut(1,oExcel.WorkSheets.count,1,.T.)
*默认直接打印整个工作簿:oExcel.ActiveWorkBook.PrintOut()
*参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)
*参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)
*参数3-数值:打印份数(默认1)
*参数4-是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.)
◆打印当前工作表:oExcel.ActiveSheet.PrintOut() &&共八个参数
*参数1-数值:起始页号,省略则默认为开始位置
*参数2-数值:终止页号,省略则默认为最后一页
*参数3-数值:打印份数,省略则默认为1份
*参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)
*参数5-字符值:设置活动打印机名称,省略则为默认打印机
*参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名
*参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印
*参数8-字符值:当参数6为.T.时,设置要打印到的文件名
◆用VFP控制EXECL的选择打印机的窗口
oExcel.application.dialogs(8).show
◆预览当前工作表:oExcel.ActiveSheet.PrintPreview
◆当前工作表页面设置:oExcel.ActiveSheet.PageSetup &&如:
With oExcel.ActiveSheet.PageSetup
.CenterFooter="第"+"&P"+"页 共"+"&N"+"页" &&页脚中间
.LeftFooter="制表人:"+AllTrim(lcUserName) &&页脚左边
.rightfooter="制表日期:"+Dtoc(Date()) &&页脚右边
.TopMargin=2.5/0.035 &&顶边距
.BottomMargin=2.5/0.035 &&底边距
.LeftMargin=1.4/0.035 &&左边距
.RightMargin=0.5/0.035 &&右边距
.FooterMargin=3.5/0.035 &&脚高距
.PrintTitleRows = "$1:$3" &&固定打印的顶端标题行(第1-3行)
.Orientation = 1 &&打印方向: 1为纵向,2为横向
◆当前工作表表格内容格式设置:
oExcel.ActiveSheet.Columns(6).NumberFormatLocal = "0.0" &&指定第6列的数字显示格式为一位小数
oExcel.ActiveSheet.Columns(7).NumberFormatLocal = "yyyy-mm-dd" &7指定第7列的日期显示格式为"yyyy-mm-dd"
以上是基本的操作介绍,Excel操作的控件项太多了,你可以从网络上搜索到太多的介绍及代码,也可以在Excel中用VBA方式得到你所需要的命令代码来充实你的需要。
VFP控制Excel操作集的更多相关文章
- Excel 公式集
1. Excel 公式集 按身份证计算年龄 按日计算的 (2018/12/20)(身份证 C2): =TRUNC((DAYS360(CONCATENATE(MID(C2,7,4),"/&q ...
- Delphi Excel 操作大全
Delphi Excel 操作大全 (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObj ...
- python excel操作总结
1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2 ...
- MFC -- Excel操作简介(基于VS2010)
一.添加与 Excel 操作相关的头文件 项目 -> 类向导,在右上方有一个下拉栏,选择其中的 类型库中的MFC类(T),即可看到下图所示界面,选择“文件”选项,然后在下方的位置选项中添加本地文 ...
- 用Delphi将数据导入到Excel并控制Excel
一.调用Excel的方法:一般情况下有两种方法调用Excel:1. 直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWo ...
- Npoi导入导出Excel操作
之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求. 在winform上面实现excel操作:http://www.cnblogs.com/Cal ...
- C#EXCEL 操作类--C#ExcelHelper操作类
主要功能如下1.导出Excel文件,自动返回可下载的文件流 2.导出Excel文件,转换为可读模式3.导出Excel文件,并自定义文件名4.将数据导出至Excel文件5.将指定的集合数据导出至Exce ...
- Delphi中控制Excel(转载)
用Delphi从数据库中取得资料,然后导出到Excel中做成报表是个不错的选择,因为Excel强大的报表功能那可是没话说前提Delphi中要 uses comobj;var Excel:Variant ...
- Excel 操作类
转载:http://www.cnblogs.com/fellowcheng/archive/2010/08/21/1805158.html ExcelHelper(Excel2007) Code hi ...
随机推荐
- 使用rabbitmq手动确认消息的,定时获取队列消息实现
描述问题 最近项目中因为有些数据,需要推送到第三方系统中,因为数据会一直增加,并且需要与第三方系统做相关交互. 相关业务 本着不影响线上运行效率的思想,我们将增加的消息放入rabbitmq,使用另一个 ...
- 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第五节:数据流处理的那些事儿
为什么说到数据流了呢,因为上一节中介绍了一下异步发送请求.同样,在数据流的处理上,C#也为我们提供几个有用的异步处理方法.而且,爬虫这生物,处理数据流是基础本能,比较重要.本着这个原则,就聊一聊吧. ...
- 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块
Log4a 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块 github地址 : https://github.com/EalenXie/log4a 在API每次被请求时 ...
- dp——洛谷 P1541 乌龟棋 —— by hyl天梦
题目:(转自 https://www.luogu.com.cn/problem/P1541) 题目描述 乌龟棋的棋盘是一行NN个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第NN格是 ...
- Scala 学习(4)之「类——基本概念2」
目录 内部类 extends override和super override field isInstanceOf和asInstanceOf getClass和classOf 内部类 import s ...
- BZOJ 2095 Bridges
题目传送门 分析: 首先就是二分 然后... 混合图欧拉回路是sm... 看了题解Orz 首先要回到原来的点的话,那么每个点入度和出度要相等... 这..和网络流进入点之后就出去不是一样的吗.. 又由 ...
- NVIDIA DRIVE
NVIDIA 驱动安装(超详细) ref1: https://blog.csdn.net/qlulibin/article/details/78714596 ref2:https://www.cn ...
- javascript的对象、类和方法
1.类和对象的概念: 1.所有的事物都是一个对象,而类就是具有相同属性和行为方法的事物的集合 2.在JavaScript中建立对象的目的就是将所有的具有相同属性的行为的代码整合到一起,方便使用者的管理 ...
- 画布 canvas 的相关内容
1.什么是canvas canvas也被叫做画布,是在JavaScript中完成网页图像制作的一个重要的途径,画布是一个矩形区域,在这个矩形区域中你可以利用好这里的每一个像素.同样在canvas中也有 ...
- 缓存 ehcache
只是用于自己记录,防止日后忘记,回看所用 第一步:配置ehcahe 缓存 <?xml version="1.0" encoding="UTF-8"?> ...