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 ...
随机推荐
- 悄摸直播(二)—— 播流器实现(拉取rtmp服务器中的数据流,播放直播画面)
悄摸直播 -- JavaCV实现本机摄像头画面远程直播 播流器 一.功能说明 从rtmp服务器中获取视频流数据 + 展示直播画面 二.代码实现 /** * 播流器 * @param inputPath ...
- ubuntu频繁死机--独立显卡问题
问题:笔记本安装ubuntu时以及装好后有时会出现花屏.死机的问题,系统报错 *ERROR* UVD not responding, trying to reset the VCPU!!! *ERRO ...
- C#调用7z实现文件的压缩与解压
1.关于7z 首先在这里先介绍一下7z压缩软件,7z是一种主流的 压缩格式,它拥有极高的压缩比.在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式.主要有以下特点: 来源且模块化的组 ...
- rest实践2
通过url读取图片资源 其他的上传图片和对应的添加信息到数据库等的相关操作则引入crud来操作,编写相关代码的话==>要引入相关的crud包.
- docker制作cenos+php56+nginx镜像
首先你环境要安装好docker 1 获取centos镜像. docker search centos 选取第一个官方镜像. docker pull docker.io/centos 新建镜像挂载目录 ...
- 最大区间和变形 - codeforces
题意 : 可以选择操作一串区间,将区间内的某一个数全部变成一个新的数字,询问整个区间中某个数字的出现次数总共有多少个? 思路分析 : 首先最后选的一定是一个区间,然后 ans = cnt(1, l-1 ...
- Django 连接mysql 踩过的坑
1.创建数据库 2.在Django项目文件下的settings.py配置数据库 3.在Django项目__init__.py文件中,用pymysql代替MySqlDB import pymysql p ...
- 用canvas绘制标准的五星红旗
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 记录 解决ubuntu16.04 ‘E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) ’
当运行sudo apt-get install/update/其他命令时,会出现如下提示: E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不 ...
- LeetCode刷题总结-链表
LeetCode刷题总结-链表 一.链表 链表分为单向链表.单向循环链表和双向链表,一下以单向链表为例实现单向链表的节点实现和单链表的基本操作. 单向链表 单向链表也叫单链表,是链表中最简单的 ...