在VFP8.0中实现自定义报表输出
在VFP8.0中实现自定义报表输出出处:网络摘要:使用Visual FoxPro 8.0的新增Header类来选择表格列,实现自定义字段打印。
概述许多Visual FoxPro程序员希望将显示在表格控件中的数据能够直接输出到打印机上,并且也希望能够自定义输出列来选择要打印的字段,这在Visual FoxPro 8.0以前还是比较烦琐的事情。
从Visual FoxPro 8.0开始,你可以为成员类定义和建立子类,使对于各种控件的控制更加灵活方便。
Visual FoxPro没有提供可编程的报表工具,但是程序化输出报表是所有程序员都梦寐以求的事情,由于Visual FoxPro支持OLE操作,因此,如果你的计算机中安装了Excel,你完全可以将Visual FoxPro数据输出到一个电子表格中,并立即执行打印。
Visual FoxPro的成员类现在可以为以下的几个成员类定义和建立子类:1.Page和PageFramemandButton和CommandGroup3.OptionButton和OptionGroup4.Column和Grid5.Header和Column使用成员类可以为一个指定类的所有成员定义一致的行为,例如,可以在一个Page类的Activate事件中定义一个特定行为,用于特定的PageFrame类或对象,则所有该页框的成员页继承相同的代码和行为。
PageFrame、CommandGroup、OptionGroup和Grid类有两个新增属性:MemberClassLibrary和MemberClass,用于为成员对象设置缺省的自定义类。
当设置这两个属性后,新增成员对象将从指定的成员类进行继承。
Column对象有两个新增属性:HeaderClassLibrary和HeaderClass,用于设置指定一个自定义Header类。
但是,你不能在类设计器中设计Column和Header类,这两个类只能使用代码建立。
例如,下面使用代码建立的NewHeader类保存在一个名为MyHeader.prg的程序文件中,NewHeader类的基类为Header类,该类用于当用户单击表格的Header时切换控件的显示图片。
能够为Header指定Picture属性也是Visual FoxPro 8.0的新增功能。
DEFINE CLASS NewHeader AS HeaderName="NewHeader"PROCEDURE ClickcPictureName=JUSTSTEM(This.Picture)IF cPictureName="selected"This.Picture="unselected.bmp"ELSEThis.Picture="selected.bmp"ENDIFENDPROCENDDEFINE将建立的Header成员类添加到表格中在运行时修改Column的HeaderClassLibrary和HeaderClass属性不会影响Header,所以只能使用Column的NewObject方法来根据在MyHeader.prg中建立的NewHeader类来添加新对象,在添加之前应当将Column中默认添加的Header1对象移除。
图1中“打开表”按钮用于打开一个任意表,然后以表的字段名称作为Header的标题在表格中显示,其Click事件代码如下:cFile=GETFILE("dbf")cDemoAlias=JUSTSTEM(cFile)IF NOT EMPTY(cFile)Thisform.Text1.Value=cFileCLOSE TABLES ALLUSE (cFile) ALIAS cDemoAlias IN 0nCount=AFIELDS(aArray)*!* 设置表格属性WITH Thisform.Grid1.ColumnCount=nCount.DeleteMark= .F..GridLineColor=RGB(192,192,192).HeaderHeight=25.HighlightStyle= 2.RecordSourceType=1.RecordSource="cDemoAlias"ENDWITH*!* 设置表格各列属性FOR i=1 TO nCountThisform.Grid1.Columns(i).ControlSource=aArray(i,1)Thisform.Grid1.Columns(i).RemoveObject("Header1") &&移除当前默认Header对象Thisform.Grid1.Columns(i).NewObject("Header1","NewHeader","MyHeader.prg") &&添加自定义Header对象Thisform.Grid1.Columns(i).Header1.Picture="selected.bmp"Thisform.Grid1.Columns(i).Header1.Caption=aArray(i,1)ENDFORThisform.Grid1.AutoFit()Thisform.RefreshENDIF建立“页面设置”表单在Excel的页面设置窗口中可以设置上边距、下边距、纸张方向和纸张类型等,为此,我们也相应建立了一个简单的“页面设置“表单。
为保存页面设置中的各项数据,建立了一个tblPrtSet表,该表的结构如下所示。
字段名称说明TOPMARG 上边距BOTTMARG 下边距LEFTMARG 左边距RIGHTMARG 右边距PAPERSIZE 纸张大小ORIENTATE 纸张方向HEADERMARG 页眉FOOTERMARG 页脚ZOOM 缩放比例输出选定列到Excel中如果表格中列的Picture属性为Selected.bmp(表示为选定状态),则该列将输出到打印机中,下面是“输出到Excel”按纽的Click事件代码。
*!* 生成临时表cAlias=Thisform.Grid1.RecordSourceSELECT (cAlias)cTmp=""FOR i=1 TO Thisform.Grid1.ColumnCountIF JUSTSTEM(Thisform.Grid1.Columns(i).Header1.Picture)="selected"cTmp=cTmp+Thisform.Grid1.Columns(i).ControlSource+","ENDIFENDFORcTmp=SUBSTR(cTmp,1,LEN(cTmp)-1) &&删除尾部的逗号cSQL="SELECT "+cTmp+" FROM "+cAlias+" INTO CURSOR curPrint" &&生成SQL语句&cSQLSELECT curPrintnCount=AFIELDS(aPrtArray)IF NOT USED("tblPrtSet")USE tblPrtSet ALIAS tblPrtSet IN 0ENDIFGO TOP**设置EXCEL表格头oExl=CREATEOBJECT("Excel.Application")oExl.Workbooks.AddoExl.Worksheets("sheet1").ActivateoExl.ActiveSheet.PageSetup.TopMargin=tblPrtSet.TopMarg/0.035 &&设置上边距oExl.ActiveSheet.PageSetup.BottomMargin=tblPrtSet.BottMarg/0.035 &&下边距oExl.ActiveSheet.PageSetup.LeftMargin=tblPrtSet.LeftMarg/0.035 &&左边距oExl.ActiveSheet.PageSetup.RightMargin=tblPrtSet.RightMarg/0.035 &&右边距oExl.ActiveSheet.PageSetup.PrintTitleRows ="$1:$2" &&设置顶端标题行oExl.ActiveSheet.PageSetup.PaperSize=tblPrtSet.PaperSize &&纸张大小oExl.ActiveSheet.PageSetup.Orientation=tblPrtSet.Orientate &&纸张方向oExl.ActiveSheet.PageSetup.RightHeader="第& P页共&N页"oExl.ActiveSheet.PageSetup.HeaderMargin=tblPrtSet.HeaderMarg/0.035 &&页眉oExl.ActiveSheet.PageSetup.FooterMargin=tblPrtSet.FooterMarg/0.035 &&页脚oExl.ActiveSheet.PageSetup.Zoom=tblPrtSet.Zoom &&缩放比例oExl.Cells(1,1).Value=Thisform.Text1.ValueoExl.Cells(1,1)="黑体"oExl.Cells(1,1).Font.Size=14oExl.Cells(1,1).HorizontalAlignment=3 &&水平居中oExl.Range(To26(1)+"1:"+To26(nCount)+"1").Merge &&合并列*循环生成表格头FOR i=1 TO nCountoExl.ActiveSheet.Columns(i).Font.Size=9oExl.ActiveSheet.Columns(i).ColumnWidth=10oExl.Cells(2,i).Value=aPrtArray(i,1)oExl.Cells(2,i).HorizontalAlignment=3 &&水平居中ENDFOR*生成表内容SELECT curPrintnRow=3SCANFOR nColumn=1 TO nCountcField=aPrtArray(nColumn,1)oExl.Cells(nRow,nColumn).Value=&cFieldENDFORnRow=nRow+1ENDSCANoExl.Range("A2:"+To26(nCount)+ALLTRIM(STR(nRow-1))).Borders.LineStyle=1 &&细线oExl.Range("a2:"+To26(nCount)+ALLTRIM(STR(nRow-1))).Borders.Weight=2 &&线粗细*!* oExl.Visible=.T. &&显示ExceloExl.ActiveSheet.PrintOut &&直接打印输出本文来自编程入门网:/vfpwz/report/report37.htm。
在VFP报表中实现每页打印指定记录数
在VFP报表中实现每页打印指定记录数方法一在VFP的报表生成器中,编制报表,用调整报表页头带和页脚带高度的方法来控制每页要打印的记录数据,这是一种比较简单、容易实现的方法。
但是由于不同的计算机中默认的纸张大小不一样,或者相同的纸型中的页边距设置不一样而使得每页打印的记录数发生改变。
这对于固定的用户和固定的打印机、纸张来讲,没有什么问题,但如果软件要运行于多台电脑上或推广到更广泛的用户中,就要考虑不同的打印机及纸张的问题了。
此时可以用下面介绍的方法二和方法三来实现。
另外,有很多用户要求当表中的记录数不是整页数时在最后一页中以空的表格填满报表,也只有在下面的两种方法中才能实现。
方法二以下过程中假设报表中使用的表名为TEMP.DBF在报表设计器中:1、将报表中的打印字段前面的别名前缀全部删除。
2、将报表数据环境中原来的表从数据环境中移去。
3、在报表的数据环境的Init 中放入以下代码:*-- DetailNum 是细节带中要打印的记录数,可在这里按需要进入修改local DetailNumDetailNum = 17*-- 以下SQL语句消除删除记录对分组字段的影响及对数据进行适当的排序SELECT * FROM TempsintosTABLE TMP1swheresNOT DELETED() &&&&sgroupsby 排序条件SELECT int((recno()-1)/DetailNum) as GroupCount, * ;FROM Tmp1 ;sintosCURSOR Temp2USE IN TMP1*-- 为保持一个干净的环境,删除刚刚建立的临时过渡表delete file TMP1.dbfif file("TMP1.fpt")delete file TMP1.fptendif*-- 注:你可以在上面的代码中设置DetailNum 的值为你所希望每页报表要打印的记录数。
在VFP8.0中实现自定义报表输出
在VFP8.0中实现自定义报表输出出处:网络摘要:使用Visual FoxPro 8.0的新增Header类来选择表格列,实现自定义字段打印。
概述许多Visual FoxPro程序员希望将显示在表格控件中的数据能够直接输出到打印机上,并且也希望能够自定义输出列来选择要打印的字段,这在Visual FoxPro 8.0以前还是比较烦琐的事情。
从Visual FoxPro 8.0开始,你可以为成员类定义和建立子类,使对于各种控件的控制更加灵活方便。
Visual FoxPro没有提供可编程的报表工具,但是程序化输出报表是所有程序员都梦寐以求的事情,由于Visual FoxPro支持OLE操作,因此,如果你的计算机中安装了Excel,你完全可以将Visual FoxPro数据输出到一个电子表格中,并立即执行打印。
Visual FoxPro的成员类现在可以为以下的几个成员类定义和建立子类:1.Page和PageFramemandButton和CommandGroup3.OptionButton和OptionGroup4.Column和Grid5.Header和Column使用成员类可以为一个指定类的所有成员定义一致的行为,例如,可以在一个Page类的Activate事件中定义一个特定行为,用于特定的PageFrame类或对象,则所有该页框的成员页继承相同的代码和行为。
PageFrame、CommandGroup、OptionGroup和Grid类有两个新增属性:MemberClassLibrary和MemberClass,用于为成员对象设置缺省的自定义类。
当设置这两个属性后,新增成员对象将从指定的成员类进行继承。
Column对象有两个新增属性:HeaderClassLibrary和HeaderClass,用于设置指定一个自定义Header类。
但是,你不能在类设计器中设计Column和Header类,这两个类只能使用代码建立。
二级VFP_08第八章报表设计与应用.
第八章 报表设计与应用
一、用向导创建报表 ⒈单表报表向导 方法:单击“文件”菜单中的“新建”命令,选择 “报表”,再选“报表向导”。
如:建立基本情况表的报表。
二级VFP程序设计教程
第八章 报表设计与应用
二级VFP程序设计教程
第八章 报表设计与应用
含分组小计和最后一页的总计 只含最后一页的总计 只含分组小计
主讲老师:韩维良
2018年11月
第八章 报表设计与应用
第一节 用报表输出数据
报表是将需要的数据表格化的重要工具,包括两个基 本组成部分:数据源和布局,最终的结果是打印出来, 即为了打印而制作的文档叫做报表。
报表布局定义了报表的打印格式。
数据源通常是数据库的表,也可以是视图、查询或临 时表;
创建报表的过程包括定义报表的样式并指定数据源, 系统将报表样式保存在报表文件中,报表文件的扩展名 为.frx。
在认识一个报表的各部分以后,才能有效地对应到报表设计器中的各带区
带 区
标题 页标头 列标头 组标头 细节 组注脚 列注脚
用
途
添 加 方 法
从“报表”菜单中选择“标题/总 结” 缺省 从“文件|页面设置”设置“列 数”>1 从“报表”菜单中选择“数据分 组”
每报表出现一次,用来放置标题、日期页码 每页出现一次列标题、日期、页码 每列使用一次,为列设置标头(分栏打印) 每组出现一次,用来放置分组字段和分隔线
第八章 报表设计与应用
⑴添加标题或总结带区:执行“报表”菜单中的“标 题/总结”命令,选中“标题带区”复选框。 表示向表中添加一个“标题”带区,如果希望把标题 内容单独打印一页,还要选中“新页”,同样可以设置
“总结带区”。
如何在vfp中调用excel实现图、表的制作(之二)
如何在vfp中调用excel实现图、表的制作(之二)言归正传。
接下来谈谈vfp调用excel生成统计图形的问题。
初学者可能以为这会是件很难的事情,其实还是很简单的,不必担心。
你最好用一点儿数据自己先在excel中试试如何生成一个统计图:打开Excel输入一组数据,例如从A1-A5,从上往下输入100,200,150,223,152这五个数据,然后用鼠标点击A1不放拖至A5,这样就把A1-A5选中了。
接着点击’图表向导’快捷键,在’图表类型’中选择’柱形图’,’子图表类型’就选择第一个,按’下一步’,在下一窗口中的’系列产生在:’选择’列’,因为我们的数据是从上往下按列摆放的。
接着按’下一步’,进入新的窗口,在’图表标题’栏输入:各生产车间产量柱形图;在分类(X)轴栏输入:车间;在’数值(Y)轴’输入:产量。
点击’下一步’,在’图表位置’窗口选中’将图表作为其中的对象插入’,点击’完成’按钮即可看见生成的柱形图形。
我们从vfp调用excel生成图表的角度来简单了解一下excel中的一些基本概念:一.对象层次:(由高到低)Application对象:它在excel对象结构中处于顶层。
形象地说,双击Excel图表就相当于创建了一个Application对象。
↓Workbooks对象:即工作簿对象(集),启动Excel后点击’新建’或’打开’快捷键就相当于创建或打开了一个Workbook。
↓Worksheets对象:即工作表(集)。
启动Excel后工作表集会自动默认含有sheet1、sheet2和sheet3这三个工作表。
Charts对象:图表(集),与Worksheets对象同级↓Cells对象:表格(集),即我们看到的一个个格子。
Range对象:是格子的一个范围,如上面的A1-A5,与Cells对象同级二.VBA(Visual Basic Application):它是一种面向对象的程序语言,内嵌于Excel,Excel的各项功能都可以直接使用VBA进行操作。
VFP第8章 菜单和报表制作件
8.1.3菜单设计器设计下拉菜单
• (6)定义菜单项的动作
8.1.3菜单设计器设计下拉菜单
• 3.生成菜单程序 菜单定义文件存放着菜单的各项定义,但 其本身是一个表文件,不能够运行。需要 产生菜单程序文件(.mpr文件)方法如下: 在菜单设计器环境下,选择“菜单”菜 单中的“生成”命令,然后在生成菜单对 话框中指定菜单文件的名称和存放路径, 最后单击生成。
话框,供用户定义菜单项的其他属性。当在对话框中定义过属性后,按钮上 就会出现符号
8.1.3菜单设计器设计下拉菜单
• 指定快捷方式:先用鼠标单击“键标签”文本框,按下快捷键;
• 要取消快捷键可以先用鼠标单击“键标签”文本框,然后按空格键。 快捷键通常是ctrl或alt与另一个字符的组合,本例Ctrl+A。
第八章 菜单和报表
目录
8.1 菜单设计
8.2 报表
8.1 菜单
1 2
8.1.1 菜单简介
8.1.2打开“菜单设计器”方法
3
8.1.3菜单设计器设计下拉菜单
返回
8.1.1打开“菜单设计器”方法
• 1.菜单操作
8.1.1打开“菜单设计器”方法
2.命令操作
8.1.3菜单设计器设 (3)菜单项分组:根据各个菜单项之间的关系,把相近或相似类别的菜
单分为一组。比如“剪切”、“复制”、“黏贴”分为一组,将“查找“、” 替换“分为一组。在两组之间插入一条水平的分组线。在菜单名称上输入”\“.操作及运行分别见下图。
8.1.3菜单设计器设计下拉菜单
• (4)设置快捷键:点击菜单设计器的选项列中的无符号按钮会出现提示选项对
8.1.3菜单设计器设计下拉菜单
• (5)使菜单项可用或不可用: 定义菜单项禁用条件。可以在文本框输 入一个表达式,或单击右侧按钮进入“表 达式生器”对话框生成一个表达式,定义 允许或禁用菜单项的条件。当表达式值为 “假”时,菜单项为可用状态;否则为禁 止状态,运行时菜单项以灰色显示。操作 图见上图中跳过文本框。
VisualFoxpro生成任意打印字段报表的实现
---- 存在的问题---- ⽤VFP⽣⾯的执⾏程序后,对于⽤户所需的某⼀数据库的任意字段组合报表,就显得不是那样运⽤⾃如。
因为,⼀⽅⾯软件开发时,⽆法考虑到⽇后⽤户所需报表的所有格式。
另⼀⽅⾯,由于所设计好的报表格式⽂件已编译成可执⾏⽂件,即使修改了.FRX和.FRT⽂件结构内容,也需在开发环境下重新编译,对⽤户来讲是不实现的。
例如需⼀份员⼯名单及⼀个空栏位,进⾏签名或登记某⼀证件号码的问题就⽐较难解决。
---- 解决⽅案---- 运⽤VFP与Excel 的交换数据及在VFP中全⾯控制Excel的操作(即⾃动服务器),就可以很好的解决这⼀问题。
关于如何控制Excel,⼀⽅⾯可以通过Excel的帮助⽂件的VBA语法,另⼀⽅⾯也有相当多的⽂章关于控制Excel的语法。
值得注意的是:1、为提⾼效率,所有有关计算、⼩计、合计在VFP中进⾏,并写在相应的记录内;2、由于是两个软件,如果在有⼤量数据逐⼀插⼊Excel单元格时,显得速度较慢,所以如果数据量较⼤,应直接⽤VFP的数据表导出为Excel格式,再由VFP在后台控制Excel打开,并指定的Excel格式⽂件进⾏修改⽂档标题、列的名称、格线型,以及根据纸张⼤⼩计算各列宽和调整字体⼤⼩。
---- 实现办法---- 利⽤SQL结构化语⾔的Select⽣成⼀个数据表---- 在Select字段时,可以利⽤⼀个表单Form1加⼊两个列表框,⼀个列表框列出所有数据表的字段,另⼀个为空,利⽤⿏标双击或拖拉⾄空的列表框⾥,为选定⼀字段(此时第⼀个含有所有字段的列表框中,将不再显⽰被拖拉⾛的字段,⽽在另⼀列表中显⽰),并⽣成相应的Select查询程序段。
---- 在本实例中为:form1中含有⼀个list1和edit1和两个按钮Form1.inipublic a,b,c,d,f,ga="SELECT "b=""c=" FROM bn INTO CURSOR myquery"d=""f=0g=0list1.dblclickif len(alltrim(b))=0b=b+thisform.list1.valueelseb=b+","+thisform.list1.valueendifd=a+b+cthisform.edit1.refreshfor mm=1 to thisform.list1.listcountif thisform.list1.selected(mm)thisform.list1.removeitem(mm)endifendforcommand1.click ** 执⾏所⽣成的select语句SELECT &B FROM BN INTO CURSOR MYQUERYsele myquerycommand2.click** 调⽤excelmy=createobject("excel.application")my.visible=.t. **如果在交付⽤户时可以将其设置成 .F.my.workbooks.addselect myqueryf=fcount()g=reccount()goto topfor l=1 to gfor i=1 to ffieldname=field(i)** 对于要⽣成中⽂的列位标题可以⽤⼀英⽂字段名称与中⽂名称对应的参数库来解决my.activeworkbook.sheets(1).cells(l,i).value=myquery.&fieldname endforskipendfor** 如果要增加⼀空列可以⽤my.activesheet.columns(f+1).insert语法** 设置页眉 my.activesheet.pagesetup.centerheader (centerfooter)=” xxx”。
从VFP中导出数据的几种方法
从VFP中导出数据的几种方法从VFP中导出数据的几种方法出处:网络当VFP处理好数据后,这时你可以用多种方法将这些数据导出,以便被其它应用程序(如Excel等)所用。
下面向你简单介绍几种导出数据的方法:1.用“导出数据”对话框。
你可以从VFP主菜单中选择“文件/导出…”打开“导出”对话框,在该对话框中的“来源”框中输入表名(c:vfpstudents.dbf),在“类型”中指定要导出数据的类型(Microsoft Excel),在“到”框中输入导出的路径和文件名(C:excelaa.xls),然后按“确定”即可。
这时你如果查看command窗口,可发现以下代码:COPY TO C:excelaa.XLS TYPE XL52.用COPY TO命令。
COPY TO命令的工作对象是VFP中的表,它要依据“TYPE”项才知道要产生哪一类导出文件。
对于上面的导出过程,可用以下方法实现:USE studentsCOPY TO C:excelaa.XLS TYPE XL53.用SET ALTERNATE TO写入ASCⅡ文件。
用该命令可以把屏幕上的内容导出,导向一个文件,下面例子可以将系统状态输入到status.txt文件中:SET ALTERNATE TO status.txtSET ALTERNATE ONSET CONSOLE OFF“系统状态”+DTOC(DATE())+“@”+TIME()LIST STATUSSET ALTERNATE OFFSET CONSOLE ON4.用SET PRINTER TO命令。
用该命令可把打印输出到文本文件中:SET PRINTER TO hello.txtSET PRINT ONCHR(27)+“广大计算机爱好者”“你们好!”“祝你们新年快乐”SET PRINT OFF5.用REPORT FORM TO FILE命令。
运行报表的REPORT命令有许多选项,把报表输出保存到文件中的方法为:REPORT FORM(报表名)TO FILE(文件名)。
vf以表为数据源创建报表的流程
vf以表为数据源创建报表的流程1.首先,打开数据表格软件,如Excel或Google表格。
First, open the spreadsheet software, such as Excel or Google Sheets.2.然后,导入表格中的数据,确保数据是准确的。
Next, import the data from the table, making sure thedata is accurate.3.接着,选择创建报表的模板,可以是柱状图、饼图或折线图等。
Then, choose a template for creating the report, such asa bar chart, pie chart, or line graph.4.在选择报表类型后,开始设置报表的数据源,确保选择了正确的表格和字段。
After selecting the type of report, start setting thedata source for the report, making sure to choose the correct table and fields.5.在设置报表的数据源后,添加报表的标题和标签,使报表更具可读性和易理解性。
After setting the data source for the report, add the report's title and labels to make the report more readableand understandable.6.接下来,根据需要进行数据筛选,可以按照时间、地点或其他条件对数据进行筛选。
Next, perform data filtering as needed, filtering thedata according to time, location, or other conditions.7.然后,选择适当的图表样式和颜色,使报表更具吸引力。
VFP中动态打印报表的几种方法的实现
家窿住址
(r 2 Jzq ' 甘 肃天 水 浙 江杭 州 陕 西成 阳
入学成绩
() J Rr ) c 52 3 55 4 52 2
备注
( B
张 龙飞 刘 刚
1 数 据动 态
V P报表 中的数据动态 , F 包含两方面的内容 : 录动态和表 记 字段动态。记录动态就是在表结构不变 的情况下 , 录可 以根据 记 实际需要 任意变化。 而字段动态在不仅记录是动态变化的而且表 中的字段也是根据实 际的需要在变化。 下面说明这两种方法的具 体实现。 11记 录动 态 . 这是最常见的一种报表动态打印的形式 。 现这个方法可 以 实 通过两种途径 :一种途径是将符合条件的 s T中的内容拷 贝到 临 时表 (IS I B ) , LN H . F中 以临时表作为 报表 的数据源 进行打 印; D 另 外一种是直接 以 S 为报表 的数据源 , T作 打印符合条件的记 录。 用第一种途径来 打印表 中符合 条件是女性并且是 团员 的学 生信息。
学号f ) a
2 O O 0 0 23 l 2 O 0 O 0 23 2 2 O 0 0 0 23 3
出来 。
2 报表格 式动态
报表的格式包括 了报表 的字体 、 字体大小 、 报表标题 , 报表 中 打 印字段 的位置等 , 一般情况下 , 这些在设计阶段都已经完成 , 不 需要改变 , 但在一些特殊情况下 , 会遇到报表格式的改变 , 这样我 们就要在原有报表 的基础上 , 对原报表做相应的简单 的调整 。例 如在打 印学生派遣报到证的时候 , 报表所用的纸张已经是设计好 的, 计算机 中要打印学生的信息必须要打印在相应 的位置 。这时 候就需要用户在程序运行时对报表格式 的调整。 这种报表的格式 调整 , 过调用报表设计器来完成 。在程序运行 时调用报表设 可通 计器的主要代码如下 : S TS S E A UO F&&关闭系统菜单 E Y T MM N F
推荐-基于FoxPro的MIS系统中实现excel报表输出 精品
基于FoxPro的MIS系统中实现EXCEL报表输出院系:信息科学与技术系专业班:通信工程0802班姓名:XX XX XX学号:20XX1181072指导教师:XX XX XX20XX年5月基于FoxPro的MIS系统中实现EXCEL报表输出Excel Report Output Based on FoxPro MIS System摘要随着计算机系统的更新,越来越多的人开始使用win系统。
然而,许多企业里的管理信息系统在很早就存在,现在已逐渐暴露出问题。
以中原电子集团—总装分厂的MIS系统为例,该集团的工时MIS一直使用这样一个集界面维护、系统开发于一体的工具系统,在过去的几年里,它在MIS的维护和二次开发中起到了极大的作用。
该管理系统可以在DOS系统下正常使用,但是在win系统就无法实现数据库表自动生成Excel报表的输出。
针对目前正在使用的原系统普遍存在的不同系统的适用性差,实现在win平台下也能正常使用,对原系统进行全面的分析,熟悉该公司的MIS系统界面及开发维护工具程序的设计思想,阐明了系统的设计方法,并对系统功能做了详尽的说明,找出程序中的不完善之处,并进行修改用以实现基于FoxPro的管理信息系统,借助win平台实现数据库表以Excel表形式输出设计思路与实现方法,使更多的win系统用户能够更方便、更快捷地运用该系统资源。
关键词:管理信息系统数据库表win平台AbstractWith the update of puter systems, more and more people begin using the win system. However,in many panies which are existence in many years ago, are gradually exposed problem now. As Zhongyuan Electronic Group-the MIS system of the assembly plants for example, the group's working Management information systems have been using s set of interface maintenance and system development in one of the tool system, in the past few years. It played a significant role in the MIS and secondary development .the management system is used normally under the DOS system, but there is not changed the database tables to Excel report output automatically in the win system.Against to a mon system currently being used in the original system is poor. in order to achieve this system for normal use in the win platform. Making an prehensive analysis of the original system, and being familiar with the pany's MIS system interface and development to maintain the utility design ideas, clarify system design, and the functionality ,a detailed description ,It finds out the imperfections in the program, and make changes to the FoxPro -based management information system, with the win platform database table to Excel table output in the form design ideas and implementation methods .In order to achieve the win platform for normal use. more win users of the system more convenient, more efficient use of the system resources.Key words: management information systems database table the win platform目录绪论随着全球信息技术的飞速发展,尤其是因特网的出现和普及,企业管理和决策都发生了根本的改变。
