巧让VFP数据生成Excel报表示例_第1页
巧让VFP数据生成Excel报表示例_第2页
巧让VFP数据生成Excel报表示例_第3页
巧让VFP数据生成Excel报表示例_第4页
巧让VFP数据生成Excel报表示例_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、巧让 VFP 数据生成 Excel 报表示例* 编号: A0027* 功能:巧让 VFP 数据生成 Excel 报表示例* 说明:不能打印备注型和通用型字段 CLOSE DATABASES allSET DATE YMDSET CENTURY onSET PATH TO d:vfp98USE RKQK200802 ALIAS FoxTable IN 0 m.outfilename=putfile( 输出结果 ,RKQK,xls)SELECT FoxTable&& 取导出文件名称 ef=CREATEOBJECT(Excel.application) && 调用 E

2、xcel 程序 efapp=ef.application efapp.Workbooks.add efapp.activewindow.windowstate=2 && 添加工作簿 osheet=efapp.activesheet&& 激活第一个工作表ef.visible=.t.&& 显示 Excel 界面 ef.Cells.Select&& 选择整张表 ef.Selection.Font.Size = 1111&& 设置整表默认字体大小为 num=reccount()&& 求导出总记录数go to

3、pi=5ef.range(F1:K1).Select&& 选择标题栏所在单元格 ef.Selection.Merge&& 合并单元格with ef.range(F1 )&& 设置标题及字体属性.value=陈集小学各科任课情况一览表.Font.Name=宋体”.Font.bold=.t.Font.size=18.Font.Color=RGB(255,0,0) endwithwith ef.range(A3:P4 )&& 设置字段名及字体属性.Font.Name= 华文新魏 .Font.bold=.t. .Font.size=12

4、endwith ef.Rows(2).RowHeight=1/0.035&& 设置第二行高度为 1cm ef.range(M2:P2).Select ef.Selection.Merge&& 合并单元格 ef.range(M2).Font.size=11 ef.range(M2).HorizontalAlignment=4&& 设置内容对齐方式为右对齐 ,3 为居中,2 为右对 齐ef.range(M2).value= 制表日期: +SUBSTR(DTOS(date(),1,4)+ 年 +SUBSTR(DTOS(date(),5,2)+ 月 +S

5、UBSTR(DTOS(date(),7,2)+ 日+ ef.Rows(3:4).Select with ef.Selection.HorizontalAlignment = 3 && 设置 3、 4 行为水平对齐.VerticalAlignment = 2&& 垂直居中 .NumberFormatLocal = && 设置 3、 4 行为字符型内容 endwithef.Range(A3:A4).Select ef.Selection.Merge&& 纵向合并第一列 3、 4 行 ef.Range(A3).Value= 班级 &am

6、p;& 设置第一列标题内容 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= 班主任 && 设置第二列标题内

7、容 ef.Columns(B).Select && 整列选择 ef.Selection.HorizontalAlignment = 3 && 水平居中 ef.Range(C3:C4).Select ef.Selection.Merge ef.Range(C3).Value= 学生数 ef.Columns(C).Select ef.Selection.HorizontalAlignment=3 ef.Range(D3:E3).Select ef.Selection.Merge ef.Range(D3).Value= 品德类课程 ef.Range(D4).Value

8、= 品生 ef.Range(E4).Value= 品社 ef.Range(F3:F4).Select ef.Selection.Merge ef.Range(F3).Value= 科学 ef.Range(G3:G4).Select ef.Selection.Merge ef.Range(G3).Value= 语文 ef.Range(H3:H4).Select ef.Selection.Merge2Range(=H3va_ue 儿選* 2Range(_34se_ea ef.se-eaion.Merge 2Range(_3=)a_ue 儿M3W. efRange (二J3J4=).se-ea ef

9、.se-eaion.Merge 2Rangew3va_ue儿寡骑 2Range(=K3K4se_ea ef.se-eaion.Merge 2Range(=K3va_ue儿 ef.Range (卢 3L4se_eaef.se-eaion.Merge ef-Range (卢 3va_ue 儿丹 efRange(w303=).se-ea ef.se-eaion.Merge ef.Range(wq).va_ue儿 2Range(w4va_ue儿 ww- 2Range(=N4va_ue 儿e&w. 2Range(o4=) ef.Range(=pgp4=).se-ea ef.se-eaion. Merge

10、 2Range(=p3va_ue儿型商洱寡-nFldCount=AFIELDS(aFldList,FoxTable)cRecc=STR(RECCOUNT(FoxTable)SCANWAIT WINDOW ALLTRIM(STR(RECNO()+/+cReccNOWAITFOR i = 1 TO nFldCountvValue = .NULL.IF AT(aFldListi,2, CDLMNFIBYT) = 0LOOPENDIFcFldName = aFldListi,1 vValue = EVALUATE(cFldName)DO CASECASE aFldListi,2 = C vValue

11、= TRIM(vValue)CASE aFldListi,2 = D vValue = DTOC(vValue)CASE aFldListi,2 = T 型vValue = TTOC(vValue)&& 字符型&& 日期型&& 日期时间CASE INLIST(aFldListi,2, N, F, I, B, Y) && 数值型CASE aFldListi,2 = L&&逻辑型CASE aFldListi,2 = M&&备注型OTHERWISEvValue = .NULL.ENDCASEIF VART

12、YPE(vValue) = C AND EMPTY(vValue)LOOPENDIFIF NOT ISNULL(vValue)ef.Cells(RECNO(FoxTable)+4,i).Value = vValue && 关键之处ENDIFENDFORENDSCANcChrStr = ABCDEFGHIJKLMNOPQRSTUVWXYZFOR i = 1 TO nFldCountcColumn =SUBSTR(cChrStr,INT(i-1)/26),1)+SUBSTR(cChrStr,IIF(MOD (i,26)=0,26,MOD(i,26),1)ef.Columns(cCo

13、lumn + : + cColumn).ColumnWidth=12IF aFldListi,2 = MoSheet.Columns(cColumn + : + cColumn).WrapText = .f.ENDIFENDFORfor i=3 to reccount()+4ef.Rows(i).RowHeight=0.68/0.035 && 设置从 第 3 行开始每行高度 0.68 厘米endfor*efapp.Rows.EntireRow.AutoFit&& 设置行高自动 efapp.Columns.EntireColumn.AutoFit&&

14、; 设置列宽自动 efapp.ActiveSheet.PageSetup.PrintTitleRows=$1:$4&& 设置打印的顶端标 ;题行 1-4 行efapp.ActiveSheet.PageSetup.CenterFooter=第&P 页 共&N 页”*efapp.ActiveSheet.PageSetup.RightFooter= 制表:王咸美 && 设置右页脚efapp.ActiveSheet.PageSetup.CenterHorizontally=.t. efapp.ActiveSheet.PageSetup.Orientation=2&& 设置纸张方向:1-竖放 2-横放efapp.ActiveSheet.PageSetup.PrintGridLines=.t.&&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论