| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1737 人关注过本帖
标题:如何用VFP编程序技术在VFP 环境下读取 EXCEL 电子表格数据
只看楼主 加入收藏
五万个为什么
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2021-10-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
如何用VFP编程序技术在VFP 环境下读取 EXCEL 电子表格数据
如何用VFP编程序技术,试图通过程序的方式,一个一个打开这些excel表电子表格文件,读取上面的信息。文件里有多个电子表格  不是单个   有什么方法  
搜索更多相关主题的帖子: 读取 技术 EXCEL 电子表格 VFP 
2021-10-27 16:56
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:4 
单个EXCEL表,会不会,单个会了,多个就不远了。
2021-10-27 17:16
五万个为什么
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2021-10-27
收藏
得分:0 
回复 2楼 mywisdom88
单个也不太会   请问有没有详细的操作教程  
2021-10-27 17:31
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:332
专家分:804
注 册:2021-1-9
收藏
得分:4 
VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍:

*!* 1.创建Excel对象
oExcel=Createobject("Excel.application")

*!* 2.添加新工作簿
oExcel.Workbooks.Add
 
*!* 3.设置第3个工作表为激活工作表
oExcel.Worksheets("sheet3").Activate
 
*!* 4.打开指定工作簿
oExcel.Workbooks.Open("c:/temp/ll.xls")
 
*!* 5.显示Excel窗口
oExcel.Visible=.T.
 
*!* 6.更改Excel标题栏
oExcel.Caption="VFP应用程序调用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("50:100").RowHeight=1 &&设置第50行至100行的高度
 
*!* 10.在第18行之前插入分页符
oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1
 
*!* 11.在第4列之前删除分页符
oExcel.ActiveSheet.Columns(4).PageBreak=0
 
*!* 12.指定边框线宽度(Borders参数如下)
ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3
 
*!* 13.设置四个边框线条的类型
oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1
(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
 
*!* 14.设置页眉
oExcel.ActiveSheet.PageSetup.CenterHeader="报表1"
 
*!* 15.设置页眉(字体大小)
oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小
 
*!* 16.设置页脚
oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页"
 
*!* 17.设置页脚(字体大小)
oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小
 
*!* 18.设置页眉到顶端边距为2厘米
oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035
 
*!* 19.设置页脚到底边距为3厘米
oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035
 
*!* 20.设置顶边距为2厘米
oExcel.ActiveSheet.PageSetup.TopMargin=2/0.035
 
*!* 21.设置底边距为4厘米
oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.035
 
*!* 22.设置左边距为2厘米
oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.035
 
*!* 23.设置右边距为2厘米
oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035
 
*!* 24.设置页面水平居中
oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T.
 
*!* 25.设置页面垂直居中
oExcel.ActiveSheet.PageSetup.CenterVertically=.T.
 
*!* 26.设置页面纸张大小(1-窄行8511 39-宽行1411 9:A4)
oExcel.ActiveSheet.PageSetup.Papersize=1
 
*!* 27.打印单元格网线
oExcel.ActiveSheet.PageSetup.PrintGridlines=.T.
 
*!* 28.拷贝整个工作表
oExcel.ActiveSheet.UsedRange.Copy
 
*!* 29.拷贝指定区域
oExcel.ActiveSheet.Range("A1:E2").Copy
 
*!* 30.粘贴
oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial
 
*!* 31.在第2行之前插入一行
oExcel.ActiveSheet.Rows(2).Insert
 
*!* 32.在第2列之前插入一列
oExcel.ActiveSheet.Columns(2).Insert
 
*!* 33.设置字体
oExcel.ActiveSheet.Cells(2,1).Font.Name="黑体"
 
*!* 34.设置字体大小
oExcel.ActiveSheet.Cells(1,1).Font.Size=25
 
*!* 35.设置字体为斜体
oExcel.ActiveSheet.Cells(1,1).Font.Italic=.T.
 
*!* 36.设置整列字体为粗体
oExcel.ActiveSheet.Columns(1).Font.Bold=.T.
 
*!* 37.清除单元格公式
oExcel.ActiveSheet.Cells(1,4).ClearContents
 
*!* 38.打印预览工作表
oExcel.ActiveSheet.PrintPreview
 
*!* 39.打印输出工作表
oExcel.ActiveSheet.PrintOut
 
*!* 40. (1).Controls(1).accChild(18).Execute &&打印(菜单序号18为Excel2003的‘打印’项)
&&不同版本Excel的菜单序号可以通过以下程序取得
*(需要在VFP7.0以上运行)
2021-10-27 18:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:4 
简单的直接用VFP命令也可以
通常会用 Excel.Application
2021-10-27 18:25
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:786
专家分:1160
注 册:2021-10-13
收藏
得分:4 
澶叏浜嗭紝鎰熻阿鍒嗕韩鈥
2021-10-27 23:36
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1088
专家分:2682
注 册:2015-12-30
收藏
得分:4 
* 提供点程序实例,估计是无从下手了
* 下面这段是新建EXCEL表的程序
oExcel = Createobject("Excel.application")
oExcel.workbooks.add     && 增加工作簿
oExcel.DisplayAlerts = .F.     
oExcel.Visible = .F.    && 不显示EXCEL窗口

oExcel.sheets.add()    && 增加工作表
oExcel.activesheet.name = c工作表名字

* 这里处理表格数据

oExcel.ActiveWorkbook.saveas(cEXCEL文件名)
oExcel.ActiveWorkbook.Close(.T.)
oExcel.Workbooks.Close &&关闭表
oExcel.quit


[此贴子已经被作者于2021-10-28 08:45编辑过]

2021-10-28 08:41
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1088
专家分:2682
注 册:2015-12-30
收藏
得分:0 
* 这段是EXCEL读取

oExcel = Createobject("Excel.application")
* Pexcelfilename 是EXCEL文件名
oExcel.Workbooks.open(Pexcelfilename,.F.)
oExcel.DisplayAlerts = .F.
oExcel.Visible = .F.
* 至此,EXCEL已经打开

FOR EACH oMyVar IN oExcel.sheets    && 遍历所有工作表
    oExcel.WorkSheets(oMyVar.name).Activate
    * 读取数据,或者干点别的什么
NEXT oMyVar


oExcel.ActiveWorkbook.save    && 文件保存,如果不保存可跳过

oExcel.ActiveWorkbook.Close(.T.)
oExcel.Workbooks.Close &&关闭表
oexcel.quit
Release oExcel

* EXCEL操作还有很多,4楼已经给出一些了,其他的到网上搜吧,一把一把的
2021-10-28 08:53
自强不西
Rank: 2
等 级:论坛游民
帖 子:147
专家分:26
注 册:2019-3-29
收藏
得分:0 
2021-11-07 11:19
chansnsn
Rank: 2
等 级:论坛游民
帖 子:16
专家分:15
注 册:2013-6-27
收藏
得分:0 
放一个VFP操作EXCEL的资料,这个研究一下能解决大部分EXCEL的问题。
vfp操作EXCEL.txt (166.16 KB)
2021-11-08 10:38
快速回复:如何用VFP编程序技术在VFP 环境下读取 EXCEL 电子表格数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020041 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved