- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在 VFP 中调用 Excel 的经验集
在 VFP 中控件 Excel 的小小经验集
1、 获取工作表名称
在以下示例中,创建了一个 microsoft excel 实例,添加了一个新的工作簿。使用 foreach 语句显示工作簿中每个工作表的名称。此示例要求在运行示例的机器上正确安装 microsoft excel。
oExcel = CREATE(Excel.Application)
oExcel.Workbooks.ADD
FOR EACH oMyVar IN oExcel.sheets
? oMyVar.name
NEXT oMyVar
2、 Excel报表巧生成
巧让foxpro数据生成Excel报表
Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在vfp中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表
假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。
部分程序代码如下:
m.outfilename=putfile(输出结果,agcallop,xls)
取导出文件名称
ef=CREATEOBJECT(Excel.application)
调用Excel程序
ef.Workbooks.add
添加工作簿
ef.Worksheets(sheet1).Activate
激活第一个工作表
ef.visible=.t.
显示Excel界面
ef.Cells.Select
选择整张表
ef.Selection.Font.Size = 10
设置整表默认字体大小为10
select 0
use agcallop
选择被导出的表
num=reccount()
求导出总记录数
go top
i=5
ef.range(F1:K1).Select
选择标题栏所在单元格
ef.Selection.Merge
合并单元格
with ef.range(F1 )
设置标题及字体属性
.value=客户服务部业务代表工作量情况统计表
.Font.Name=黑体
.Font.size=18
endwith
ef.Rows(2).RowHeight=1/0.035
设置第二行高度为1cm
ef.range(H2:O2).Select
选定统计条件栏所在单元格
ef.Selection.Merge
合并单元格
ef.range(H2).Font.size=10
ef.range(H2).HorizontalAlignment=4
设置内容对齐方式为右对齐,3为居中,2为右对齐
ef.range(H2).value=统计时间: dtoc(date()) 打印日期: dtoc(date())
ef.Rows(3:4).Select
with ef.Selection
.HorizontalAlignment = 3
设置3、4行为水平对齐
.VerticalAlignment = 2
垂直居中
.NumberFormatLocal = @
设置3、4行为字符型内容
endwith
ef.Range(A3:A4).Select
ef.Selection.Merge
纵向合并第一列3、4行
ef.Range(A3).value=工号
设置第一列标题内容
ef.Columns(A).Select
整列选择
ef.Selection.HorizontalAlignment = 3
水平居中
ef.Columns(A:B).Select
ef.Selection.NumberFormatLocal = @
设置A、B列为字符型内容
ef.Range(B3:B4).Select
ef.Selection.Merge
纵向合并第二列3、4行
ef.Range(B3).value=姓名
设置第二列标题内容
ef.Columns(B).Select
整列选择
ef.Selection.HorizontalAlignment = 3
水平居中
ef.Range(C3:E3).Select
横向合并第三行C-E列
ef.Selection.Merge
ef.Range(C3).value=话务总量
第三行大标题为“话务总量”的列
ef.Range
您可能关注的文档
- 喀麦隆国家概况及社交礼仪文化.doc
- 学习党的十八届三中全会精神讲话发言材料.docx
- 拖拉机的使用保养维修.docx
- 肝炎的食疗方法.doc
- 蔬菜的冬季存储方法.docx
- 个人日常应急预案.docx
- 公司团委工作管理标准.docx
- 食物中毒的防治知识.docx
- 防雷避雷及雷击急救措施.docx
- 工程施工现场安全文明管理标语口号.docx
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)