VFP实现EXCEL数据转换

合集下载

从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 ON???CHR(27)+“广大计算机爱好者”??“你们好!”?“祝你们新年快乐”SET PRINT OFF5.用REPORT FORM TO FILE命令。

运行报表的REPORT命令有许多选项,把报表输出保存到文件中的方法为:REPORT FORM(报表名)TO FILE(文件名)。

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术VFP数据导出到EXCEL技术我们都知道在EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说EXCEL 可能是最好用的表格处理软件。

我敢说:微软的产品中大概就EXCEL 最好!但是,怎样用Foxpro 快速产生统计表,并将数据送到Excel 表格中,从而代替Foxpro 的报表工具呢?我们大家都知道,在Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数CREATEOBJECT,用该函数可以让Visual Foxpro 很方便的和其它可以提供Ole Automation 服务的程序进行通讯。

而Excel 更是一个标准的Ole Automation 服务器程序,我们可以在前端将数据传送到后端的Excel 服务程序,用后端服务程序进行表格处理,从而弥补Visual Foxpro的不足。

由于历史原因,我们作报表都习惯用Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是Total 了,但不知道还有多少人还在坚持使用Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。

假设有一表:Table1 是一个人员档案,里面的表结构如下:-----字段名--类型及长度---------编号C,2部门C,10姓名C,10性别C,2出生日期 D职务C,10文化程度C,10内容大概如下TABLE1.DBF---------------------------------编号部门姓名性别出生日期职务文化程度---------------------------------1 工程部张三男1971-01-11 工程师大学本科 2 销售部李四男1967-02-23 经理大学本科 3 工程部王武1954-03-14 技术员大学专科4 总经理室赵洁雅女1975-04-05 秘书硕士研究生5 销售部..1977-05-09 销售经理高中 6 工程部大文1969-03-30 总工程师大学专科7 销售部..1961-10-10 销售经理大学专科8 总经理室庄稼1961-10-10 总经理大学专科当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。

VFP数据导出到EXCEL技术.

VFP数据导出到EXCEL技术.

VFP数据导出到EXCEL技术我们都知道在 EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说 EXCEL 可能是最好用的表格处理软件。

我敢说:微软的产品中大概就 EXCEL 最好!但是,怎样用 Foxpro 快速产生统计表,并将数据送到 Excel表格中,从而代替 Foxpro 的报表工具呢?我们大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数 CREATEOBJECT,用该函数可以让 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服务的程序进行通讯。

而 Excel 更是一个标准的 Ole Automation 服务器程序,我们可以在前端将数据传送到后端的 Excel 服务程序,用后端服务程序进行表格处理,从而弥补 Visual Foxpro的不足。

由于历史原因,我们作报表都习惯用 Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是 Total 了,但不知道还有多少人还在坚持使用 Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。

假设有一表:Table1 是一个人员档案,里面的表结构如下:-----字段名--类型及长度---------编号C,2部门C,10姓名C,10性别C,2出生日期 D职务C,10文化程度C,10内容大概如下TABLE1.DBF---------------------------------编号部门姓名性别出生日期职务文化程度---------------------------------1 工程部张三男1971-01-11 工程师大学本科2 销售部李四男1967-02-23 经理大学本科3 工程部王武1954-03-14 技术员大学专科4 总经理室赵洁雅女1975-04-05 秘书硕士研究生5 销售部..1977-05-09 销售经理高中6 工程部大文1969-03-30 总工程师大学专科7 销售部..1961-10-10 销售经理大学专科8 总经理室庄稼1961-10-10 总经理大学专科当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。

从Excel表转移数据到VFP表的编程实现方法

从Excel表转移数据到VFP表的编程实现方法

从Excel表转移数据到VFP表的编程实现方法高进龙,崔尚森,王文林(长安大学,陕西西安710054)摘要:把整个一个Excel表数据转换为VFP表并不难,难就难在把Excel表中某些行某些列的数据转移到已有数据的某个VFP表中,而且可能还会遇到两表间相应数据列的名称、数据类型、排列顺序不同的问题。

作者用VFP编程,轻松实现了这一数据转移工作。

本文将就这一程序的设计思想和实现方法做简要介绍。

关键词:Excel表,VFP表,转移数据,编程实现作者简介:高进龙(1964-),男,陕西华阴市人,长安大学地测学院教务办公室主任,讲师。

一、问题的提出VFP(Visual Foxpro)是一种关系型数据库管理系统,其强大的数据处理能力及其面向对象的编程能力,使其得到数据库应用程序开发人员的广泛使用。

而Excel则是一个优秀的电子表格处理软件,在兼容性、操作界面、公式运算、图表表现等方面有着独到的优势,成为广大办公应用人员常用的工具。

因为两种软件各有短长,所以在实际应用中常会遇到两者之间数据的转移问题。

把整个VFP表转换为Excel表或者把整个Excel表转换为VFP表的工作,两种软件都提供了相应的转换功能,一般用户很容易操作。

但是把Excel表中部分数据转移到已存在的VFP表中的情况就要复杂得多。

两种表的数据转移可能存在以下三个方面的问题:一是Excel表中可能存在某些行的数据不需要或不能被转移,需要转移或者可以转移的仅是其中较规范的某些行;二是Excel表并非所有列的数据,而只是某些列的数据需要被转移到VFP表的相应数据列中,两表中相应列的名称和顺序可能不一致;三是Excel表中与VFP表对应数据列的数据类型可能不一致。

因此,对业已存在的这两类数据表间数据转移工作,用手工完成非常麻烦和费时。

在工作实践中,作者运用VFP编程驱动Excel的能力,设计完成了从Excel到VFP的数据转移程序,成功地解决了这一问题。

Visual Foxpro中如何实现对EXCEL表格的操作

Visual Foxpro中如何实现对EXCEL表格的操作

Visual Foxpro中如何实现对EXCEL表格的操作VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP 应用项目时对Excel的控制作一下介绍:1.创建Excel对象oExcel=CREA TEOBJECT("Excel.application")2.添加新工作簿oExcel.Workbooks.add3.设置第3个工作表为激活工作表oExcel.Worksheets("sheet3").Activate4.打开指定工作簿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=012.指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3 13.设置四个边框线条的类型oExcel.ActiveSheet.Range("b3:d3").Borders(2).LineSty le=1(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)14.设置页眉oExcel.ActiveSheet.PageSetup.CenterHeader="报表1" 14.设置页眉(字体大小)oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小15.设置页脚oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页"15.设置页脚(字体大小)oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小16.设置页眉到顶端边距为2厘米oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 17.设置页脚到底边距为3厘米oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035 18.设置顶边距为2厘米oExcel.ActiveSheet.PageSetup.TopMargin=2/0.03519.设置底边距为4厘米oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.035 20.设置左边距为2厘米oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.03521.设置右边距为2厘米oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035 22.设置页面水平居中oExcel.ActiveSheet.PageSetup.CenterHorizontally=.t.23.设置页面垂直居中oExcel.ActiveSheet.PageSetup.CenterV ertically=.t.24.设置页面纸张大小(1-窄行8 5 11 39-宽行14 11 9:A4)oExcel.ActiveSheet.PageSetup.PaperSize=125.打印单元格网线oExcel.ActiveSheet.PageSetup.PrintGridlines=.t.26.拷贝整个工作表edRange.Copy27.拷贝指定区域oExcel.ActiveSheet.Range("A1:E2").Copy28.粘贴oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial 29.在第2行之前插入一行oExcel.ActiveSheet.Rows(2).Insert30.在第2列之前插入一列oExcel.ActiveSheet.Columns(2).Insert31.设置字体oExcel.ActiveSheet.Cells(2,1)="黑体"32.设置字体大小oExcel.ActiveSheet.Cells(1,1).Font.Size=2533.设置字体为斜体oExcel.ActiveSheet.Cells(1,1).Font.Italic=.t.134.设置整列字体为粗体oExcel.ActiveSheet.Columns(1).Font.Bold=.t.35.清除单元格公式oExcel.ActiveSheet.Cells(1,4).ClearContents36.打印预览工作表oExcel.ActiveSheet.PrintPreview37.打印输出工作表oExcel.ActiveSheet.PrintOut38.mandBars(1).Controls(1).accChild(18).Exe cute &&打印(菜单序号18为Excel2003的‘打印’项)&&不同版本Excel的菜单序号可以通过以下程序取得*(需要在VFP7.0以上运行)oXls=GETOBJECT("","excel.sheet")XlApp=oXLS.APPLICA TIONXlSheet=XlApp.ActiveSheetbars=mandBars.COUNTSTR=''FOR i=1 TO barsSTR=STR+CHR(13)+ALLTRIM(STR(i))+'、'+mandBars(i).accName+'(NAME:'+xlapp.C ommandBars(i).NAME+'INDEX:'+ALLTRIM(STR(mandBars(i).IND EX))+')'bars2=mandbars(i).accChildCountFOR j=1 TO bars2TRYobj=mandbars(i).CONTROLS(j)STR=STR+CHR(13)+''+ALLTRIM(STR(j))+'、'+mandbars(i).CONTROLS(j).accname+'(ID: '+ALLTRIM(STR(mandBars(i).CONTROL S(j).ID))+')'FOR k=1 TO obj.accChildCountTRYIF NOT EMPTY(obj.CONTROLS(k).accname )STR=STR+CHR(13)+''+ALLTRIM(STR(k))+'、'+obj.CONTROLS(k).accName+' (ID:'+ ALLTRIM(STR(obj.CONTROLS(k).ID))+')'ENDIFCA TCHEXITENDTRYENDFORCA TCHEXITENDTRYENDFORW AIT WINDOWS ALLTRIM(STR(i))+' / '+ALLTRIM(STR(bars))+''+STR(i/bars*100,10,2)+'%' NOW AITENDFORSA VE TO XLS.txt ALL LIKE STRMODIFY COMMAND XLS.txtRETURN39.工作表另存为oExcel.ActiveWorkbook.SaveAs("c:\temp\22.xls")检测当前目录是否有同名的EXCEL表,如果有先删除,再另存IF !FILE(SYS(5) + CURDIR() + "result.xls")oExcel.ActiveWorkbook.SaveAs(SYS(5) + CURDIR() + "result.xls")ELSElcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls")IF !EMPTY(lcFileName)IF FILE(lcFileName)DELETE FILE (lcFileName)ENDIFoExcel.ActiveWorkbook.SaveAs(lcFileName)ENDIFENDIF40.放弃存盘&& 避免出现保存对话框oExcel.ActiveWorkbook.saved=.t.41.存盘oExcel.ActiveWorkbook.save42.关闭工作簿oExcel.Workbooks.close43.退出ExceloExcel.quitRELEASE oExcel &&只有释放对象变量, EXCEL进程才会完全关闭44.合并单元格oExcel.ActiveSheet.Range("A4:B5").MergeCells=.t.45.下列设置大家自己理解With crfole.ActiveSheet.PageSetup.LeftHeader = chr(13)+"左页眉"2.CenterHeader = "中页眉".RightHeader = "右页眉".LeftFooter = "左页脚".CenterFooter = "中页脚".RightFooter = "右页脚".orientation=1 &&1竖排,2横排EndWithWith crfole.Range("A4:C4").MergeCells = .t..WrapText =.f..Orientation = 0.AddIndent =.f..ShrinkToFit = .f.EndWith46.文本对齐oExcel.range("A4:c4").HorizontalAlignment =1 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)oExcel.range("A4:c4").V erticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)47.拷贝整个工作表(含格式)oExcel.activesheet.cells.copy &&拷贝oExcel.sheets(1).select &&选择第一工作表oExcel.ActiveSheet.Paste &&粘贴oExcel.ActiveSheet.Cells(3,4).value && ActiveSheet 为当前的Sheet工作薄名字,Cells(3,4).value 为第3行第4列的值以上控制调用语句在中文VFP5.0企业版下运行通过,运行环境为Excel 97及中文Windows 9848. 显示某个单元格的批注内容oExcel=CREA TEOBJECT("Excel.application") oExcel.Workbooks.OPEN("d:\TEST\testa.xls") oExcel.VISIBLE=.T.?oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CLOSEoExcel.QUITRELEASE oExcel49.oExcel.ActiveSheet.PageSetup.PrintTitleRows="$1: $1" &&每页都打印行标头(每页顶部出现的单元格的行)50.保护工作表:oExcel.ActiveSheet.PROTECT('密码',.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.)51.保护工作薄oExcel.ActiveWorkbook.PROTECT('密码',.T.,.T.)第一个.T.:保护工作簿结构第二个.T.:保护工作簿窗口52.设置允许用户编辑区域oExcel.ActiveSheet.Protection.AllowEditRanges.Add("区域3",oExcel.ActiveSheet.Range("A2:D5"))53.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为.F.oExcel.DisplayAlerts = .F.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。

EXCEL文档与VFP (DBF)数据库文档的相互转换

EXCEL文档与VFP (DBF)数据库文档的相互转换

EXCEL文档与VFP (DBF)数据库文档的互相转换(以EXCEL2003和VFP6.0为例进行说明,其他版本类似)在办公过程中,有时为适应不同程序的需要,我们需要进行文档的转换。

微软的办公软件是我们使用得最多的。

在MS OFFICE中的EXCEL和VFP的数据库DBF文档之间进行转换,很多人都会把DBF文档转换成EXCEL文档,不就是直接导出就行了嘛。

但是,把EXCEL文档转换成DBF 数据库文档很多人就不会了,这里详细解说一下具体操作。

一、VFP数据库文档(*.dbf)转EXCEL文档(*.xls)直接导出成EXCEL(*.xls)文档就行了。

1、启用VFP6.0,打开要转换的DBF文档。

可点击“显示”-“浏览”查看刚打开的DBF数据库文档。

2、点击“文件”-“导出(E)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),在“到(O)”里输入将要生成的文件存储位置及文件名,也可点如下红圈里位置直接指明位置,点保存。

此时就将VFP数据库文档(*.dbf)转换成了EXCEL文档(*.xls)文档,可直接打开新生成的EXCEL文档,保存时会出现如下提示,直接点是保存为EXCEL2003版的格式。

二、将EXCEL文档(*.xls) 转成VFP数据库文档(*.dbf)一般我们可以直接使用VFP的导入功能。

启动VFP6.0,点击“文件”-“导入(I)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),定位到来源文件,再点确定就生成了一个新的DBF文档。

但是,我们再进行浏览时会发现字段名不对,本来应该是字段名的成了第一条记录了!如下图:实际上我们的操作略作修改就可以了方法1:(此法最简单)在对EXCEL保存时选“另存为”,选择保存类型为DBF4(Dbase IV)(*.dbf)格式。

当鼠标点选的单元格在数据区域外进行保存时,会出现以下提示框:当点选了数据区域内的单元格后再进行保存操作就可以了。

vfp中关于excel中取数或转成dbf的代码

vfp中关于excel中取数或转成dbf的代码

1、如果要从单个固定格式excel中取数,代码如下oExcel=Createobject("EXCEL.APPLICATION") &&创建Excel对象oExcel.WORKBOOKS.Open("filename") &&打开指定工作簿m1=oexcel.cells(4,3).valuem2=oexcel.cells(79,3).valuem3=oexcel.cells(71,3).valuem4=oexcel.cells(42,3).valuem5=oexcel.cells(4,9).value然后可以把这些需要的变量放到dbf中去。

2、如果要在一个有相同格式的、有许多表单的excel表中取数,代码可以这样:oExcel=Createobject("EXCEL.APPLICATION") &&创建Excel对象oExcel.WORKBOOKS.Open("file") &&打开指定工作簿USE sheetname &&建立一个数据库,放excel文件的所有表单名ZAP &&清空For Each oMyVar In oExcel.sheets &&读excel的表单名APPEND BLANKREPLACE sheetn WITH &&加入Excel表中所有工作表到sheetn ame中的sheetn字段Next oMyVar &&读下一个表单名USE sheetnamesheetnn=TRIM(sheetn)oExcel.worksheets("&sheetnn").select &&打开sheetname数据库,读出表单名,并选定。

DBF文件和Excel文件间的数据转换

DBF文件和Excel文件间的数据转换

DBF文件和Excel文件间的数据转换作者:罗正生来源:《电脑知识与技术》2008年第35期摘要:介绍了VFP数据表文件(.DBF)与Excel数据表(.XLS)间数据的相互转换,并对转换中存在的问题进行分析,提出解决的方法。

关键词:Visual FoxPro软件;Excel软件;数据文件;数据转换中图分类号:TP311.132 文献标识码:A文章编号:1009-3044(2008)35-2396-02The Data Conversion of DBF Files and Excel FilesLUO Zheng-sheng(Panzhihua University, Panzhihuai 617000, China)Abstract: This paper introduces the data conversion ofVFP Table (.DBF) and Excel Sheet (.XLS), analyzes the problems during conversion process and puts forward its solutions.Key words: visual foxPro software; excel software; data files; data conversionDBF文件是VFP(Visual FoxPro)的数据表文件,VFP是一种关系型数据库管理系统,具有强大的数据处理功,不仅是一个信息管理系统的编程平台,而且提供了以命令方式操作处理数据的功能,在管理工作中得到广泛应用;Excel文件是指Microsoft Excel软件生成的电子表格文件,Microsoft Excel是微软公司办公系列软件(Microsoft Office)中一个优秀的电子表格处理软件,具有强大的制表功能,在操作界面、公式运算、图表等方面有着独到的优势,为广大办公应用人员所熟悉和使用,正是由于他们功能间存在的差异,两种软件产生的数据常常需要进行转换,以达到方便、高效处理数据的目的。

EXCEL文档和VFP-(DBF)数据库文档的相互转换

EXCEL文档和VFP-(DBF)数据库文档的相互转换

EXCEL文档与VFP (DBF)数据库文档的互相转换(以EXCEL2003和VFP6.0为例进行说明,其他版本类似)在办公过程中,有时为适应不同程序的需要,我们需要进行文档的转换。

微软的办公软件是我们使用得最多的。

在MS OFFICE中的EXCEL和VFP的数据库DBF文档之间进行转换,很多人都会把DBF文档转换成EXCEL文档,不就是直接导出就行了嘛。

但是,把EXCEL文档转换成DBF 数据库文档很多人就不会了,这里详细解说一下具体操作。

一、VFP数据库文档(*.dbf)转EXCEL文档(*.xls)直接导出成EXCEL(*.xls)文档就行了。

1、启用VFP6.0,打开要转换的DBF文档。

可点击“显示”-“浏览”查看刚打开的DBF数据库文档。

2、点击“文件”-“导出(E)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),在“到(O)”里输入将要生成的文件存储位置及文件名,也可点如下红圈里位置直接指明位置,点保存。

此时就将VFP数据库文档(*.dbf)转换成了EXCEL文档(*.xls)文档,可直接打开新生成的EXCEL文档,保存时会出现如下提示,直接点是保存为EXCEL2003版的格式。

二、将EXCEL文档(*.xls) 转成VFP数据库文档(*.dbf)一般我们可以直接使用VFP的导入功能。

启动VFP6.0,点击“文件”-“导入(I)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),定位到来源文件,再点确定就生成了一个新的DBF文档。

但是,我们再进行浏览时会发现字段名不对,本来应该是字段名的成了第一条记录了!如下图:实际上我们的操作略作修改就可以了方法1:(此法最简单)在对EXCEL保存时选“另存为”,选择保存类型为DBF4(Dbase IV)(*.dbf)格式。

当鼠标点选的单元格在数据区域外进行保存时,会出现以下提示框:当点选了数据区域内的单元格后再进行保存操作就可以了。

如何实现Foxpro和Excel数据间相互转换

如何实现Foxpro和Excel数据间相互转换

系统 以 E cl电 子 表 形 式 显 x e
示 D F文 件 的 数 据 。注 意 , 当 前 B 文 档 的 名 称 是 “ 门 证 . b” 出 d f 。并
在 计 算 机 软 件 中 , Mirsf 绍 几 种 常 用 转换 方 法 。 coot
E cl 有 强 大 的制 表 功 能 ,F x xe 具 o.
x e 工作 表 保 存 , 则还 须 以选 ( ) 接 打 开 异 构 数 据 文 件 以 E cl 一 直 菜单 “ 另存 为”, 定 保 存 类 型 为 指 从 D F 格 式 转 换 成 E cl工 B xe
( 用 审 计 标 记 语言 后 ) 使
由 上 面 的 比 较 图 我 们 可 以看 到 ,在 使 用 审 计 标 记 语 言 后 ,我 们 可 以最 大 限 度 的 减 少 数 据 接 口
维普资讯
计 算 机 审计
作 表 格 式 非常 方 便 ,可 以 直接 打
开。 具体 操 作 如 下 : 1 .启 动 E c l 点击 主 选 菜单 x e。
“ 件 ” “ 开 ” 文 下 打 ;
2 .在 “ 开 ” 话 窗 的 “ 件 打 对 文
类型 ” 下拉 列表 里 , 选取 “ b s d ae文
件 ( .b) 。 且 指 定 盘 符 和 文 ★ df” 并
件 夹 。找 到 欲 打 开 的 D F文件 , B 例 如 :D :\ s2 0 j0 2\ fx 出 门 证 o\

d f b;
3 .点 击 “ 开 ” 钮 。 打 按
段 名 称
门 证 . l: xs

仲 国事计信息与方法’ 02 | o 20 车I l 期

VFP调用EXCEL

VFP调用EXCEL

VFP(Visual Foxpro)是一种关系型数据库管理系统,由于其强大的数据处理能力及良好的兼容性,使其成为数据库应用程序开发人员强有力的工具而广为使用; 而Excel则是一个优秀的电子表格处理软件,在兼容性、操作界面、公式运算、图表等方面有着独到的优势,成为广大办公应用人员必备的首选软件。

上述两种软件在各自的应用领域均得到了广泛的应用,同时上述两种软件还具有良好的交互编程能力,为两者相辅相成、取长补短奠定了良好的基础。

本文将结合实例介绍VFP与Excel交互编程的方法,在VFP中除了使用OLE技术外,还可使用DDE技术与外部服务器进行数据交换,本文主要讲解VFP中使用OLE技术与Excel交换数据,Excel中借助内置的VBA使用VFP提供的Application对象来调用VFP中的一些功能。

其功能可简述如下:VFP数据表“学生成绩.DBF”中含“学号、姓名、语文、数学”等字段,示例程序将从Excel工作簿“VFP交互.XLS”的工作表“查询”中用“条件”区域(一般为一个矩形区中的数据,该区域名称指定为“条件”,数据形如“语文>60”、“数学<90”等)中的数据作为查询的条件,用“连接条件”区域(一般为一个单元格,其值为“or”或者“and”)来获取组合“条件”的逻辑连接,并将该连接信息的内容以工作表的形式显示出来,然后调用VFP中针对给定表的SQL查询来找出给定条件的记录并显示到Excel中。

下列程序均在VFP 6.0与Excel 2000中调试通过。

Excel驱动VFPExcel内置的VBA语言(Visual Basic For Application)为Excel功能的扩展提供了便利的手段,用户可使用该语言直接驱动VFP完成数据检索等功能。

程序首先生成一个VFP对象,然后用VFP的DoCmd方法执行VFP搜索命令串,其搜索结果再借助于VFP的DataToClip方法拷贝至剪切板,最后VBA将其粘贴至工作表的正确位置,为了每次运行时能将结果插入到工作表中,依次对操作的工作表以“搜索结果”、“搜索结果1”等进行编号。

VFP导出到Excel程序代码

VFP导出到Excel程序代码

VFP导出到Excel程序代码VFP 导出到Excel 程序代码首先, 我们新建一个表单, 命名为daochu.scx。

在表单上添加一个命令按钮, 并将其Caption 属性设置为“导出”。

运行该表单时, 单击导出, 用户可以选择需要导出的dbf 文件, 成功导出成Excel 文件并保存。

“导出”命令按钮的Click 事件的代码设置[2]为:cDbfFile = GETFILE("dbf")IF EMPTY(cDbfFile)RETURNENDIFUSE (cDbfFile) ALIAS FoxTable IN 0 && 打开所选则的表并定义别名为FoxTableIF NOT USED("FoxT able")=MESSAGEBOX("打开表失败, 程序将中止! ", 16, "Error")RETURNENDIFcExcelFile = PUTFILE("保存为(&N):",JUSTSTEM(cDbfFile)+". xls","xls") && 激活“另存为?”对话框, 设置默认保存文件名。

IF EMPTY(cExcelFile)CLOSE DATABASES ALLRETURNENDIFSELECT FoxTableoExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel 对象IF NOT TYPE("oExcelSheet") = "O" && 如果oExcelsheet 不是对象型函数=MESSAGEBOX ("Excel 对象创建失败, 程序将中止! ",16," Error")RETURNENDIFoExcelApp = oExcelSheet.ApplicationoExcelApp.Workbooks.Add() && 添加新工作簿oExcelApp.ActiveWindow.WindowState=2oSheet = oExcelApp.ActiveSheetnFldCount = AFIELDS(aFldList, "FoxTable") &&把当前表的结构信息存放在一个数组中, 并且返回表的字段数。

VF中正确导入EXCEL表的几种方法

VF中正确导入EXCEL表的几种方法

VF中正确导入EXCEL表的几种方法一次在处理全县小学生毕业会考成绩时,由于各学校交的表格不一致,也不方便统计,为了统计方便、快速、准确无误,把EXCEL表格转换为VF的表,但在转换过程中,打开VFP,点击菜单的“文件”——“导入”,将excel表格导入成VF的表时!出现了如下图的C00005异常代码!!!经过认真思考,反复探索、多次实践,终于探索出正常将excel表格导入成VF的表的几种方法,以供大家分享。

(1)用向导导入。

现在的xls文件一般都是Excel 2000或更高版本做的。

要用向导导入时,必须注意其格式,用VFP6.0和EXCEL2000,在VFP6.0里导入EXCEL2000表就会出现"出现C00005代码异常"提示。

出现这种错误后,不要急,没有其它软件也不怕,你只要在Excel中打开先要导入的文件表,然后另存为Excel 5.0格式的表格,再用向导导入刚才另存的Excel 5.0格式的表格就可以正确了。

(2)除了上面这种方法外,经过认真思考,还可以通过VF中表与文本文件之间的数据交换命令appe from 来实现转换。

具体步骤如下,首先打开Excel文件,在另存对话框中选文本文件(制表符分隔)格式,然后保存;再进入VFP,打开数据表(自己先建立一个数据表);然后用APPE FROM 文本文件.TXT DELI WITH TAB将文本文件内容导入到自己新建的数据表中。

注意:自己所建的表中字段宽度要给宽一点,类型一律用字符型,否则给出现数据丢失。

(3)用低级文件控制函数转换TEXT文件到VF表中。

先将Excel文件另存为文本文件(制表符分隔);再用VF中的低级文件控制函数转换TEXT文件到VF表中。

首先看一下文本文件(制表符分隔)的格式:在WINDOWS文本文件格式中,每行文本的末尾包括两个不可见字符,即一个是回车符CHR(13)与另一个换行符CHR(10),在读取过程中,需要将这两个字符删除;文本文件中各项采用空格“”或换行符CHR(9)或逗号“,”分隔。

快速将VFP数据库表输出为EXCEL表

快速将VFP数据库表输出为EXCEL表

快速将VFP数据库表生成为EXCEL表江西旅游商贸职业学院晏争农摘要:本文介绍了用VFP作为开发语言,将任意VFP数据表快速输出为Excel表的小工具软件程序编制方法,从而实现在Excel中进行表格的编辑。

关键词:VFP EXCEL 事件代码在实际工作中,经常遇到许多办公管理软件所处理的数据是以VFP数据表文件形式存储或打印报表,其格式往往不能满足用户灵活多变的报表需要。

Excel是微软公司办公自动化套件中的一个软件,它以其强大的电子表格功能、友好的界面深受许多用户欢迎。

利用VFP程序快速将任意VFP数据表输出到EXCEL中,以便在EXCEL中进行编辑打印存档,提高工作效率。

此程序可选择任意一个VFP数据库表文件,并可通过待选字段内容,把需要输出的字段选出,输出选择字段的数据至EXCEL中直接进行编辑。

一、在VFP中建立一个新表单(如取名为:转换.scx),在表单上添加如图1所示的各对象控件,设置控件的主要属性如下表:对象属性属性值对象属性属性值Form1 Caption VFP 数据输出至EXCELCommand1Caption输出List1MoverBars .f. Command2 关闭List2 Command3 >Label1Caption 待选字段Command4 >>Label2 选出字段Command5 <Label3选择数据表文件Command6 << 图1二、建立各对象的事件代码:1、待选字段列表框List1.Click事件代码:if thisform.list1.listindex>0mand3.enabled=.t.endif2、选出字段列表框List2.Click事件代码:if thisform.list2.listindex>0mand5.enabled=.t.endif3、确定按钮Command1.Click事件代码:*取得选择的字段if thisform.list2.listcount=0zd='*'elsezd=''for i=1 to thisform.list2.listcountzd=zd+thisform.list2.list(i)+','nextl=len(zd)zd=substr(zd,1,l-1)endiflocal mycursorselect &zd from &fn into cursor mycursor* 将需要输出到Excel表的数据输出exc=createobject("excel.application") && 创建Excle对象exc.workbooks.add &&添加新的工作簿exc.worksheets("sheet1").activate &&设置第一工作表为激活工作表exc.visible=.t. &&显示Excel窗口k =fcount() &&取得字段数for l=1 to kexc.cells(1,l).value=field(l) &&在(1,x)单元格中写入字段名称endfori=reccount() &&取得记录个数for j=1 to igo jfor x=1 to kzhi=field(x)exc.cells(j+1,x).value=&zhi &&在(j+1,x)单元格写入记录值endforendformessagebox( "记录全部输出完毕!",0,'')4、关闭按钮Command2.Click事件代码:close databaseclear eventhisform.release5、“>”按钮Command3.Click事件代码:if thisform.list1.listindex>0thisform.list2.additem(thisform.list1.list(thisform.list1.listindex))thisform.list1.removeitem(thisform.list1.listindex)mand4.enabled=.t.elsethisform.list2.listindex=1this.enabled=.f.mand4.enabled=.f.mand6.enabled=.t.mand5.enabled=.t.endif6、“>>”按钮Command4.Click事件代码:for i=1 to thisform.list1.listcountthisform.list2.additem(thisform.list1.list(1))thisform.list1.removeitem(1)endformand3.enabled=.f.mand4.enabled=.f.mand5.enabled=.t.mand6.enabled=.t.thisform.list2.listindex=17、“<”按钮Command5.Click事件代码:if thisform.list2.listindex>0thisform.list1.additem(thisform.list2.list(thisform.list2.listindex)) thisform.list2.removeitem(thisform.list2.listindex)mand3.enabled=.t.elsethis.enabled=.f.mand6.enabled=.f.mand4.enabled=.t.endif8、“<<”按钮Command6.Click事件代码:for i=1 to thisform.list2.listcountthisform.list1.additem(thisform.list2.list(1))thisform.list2.removeitem(1)endformand3.enabled=.t.mand4.enabled=.t.mand5.enabled=.f.mand6.enabled=.f.9、选择数据表文件组合框Combo1.Click事件代码:public fnfor i=1 to thisform.list1.listcountthisform.list1.removeitem(1)endforfor i=1 to thisform.list2.listcountthisform.list2.removeitem(1)endforfn=getfile('dbf')this.displayvalue=fnuse &fnzds=fcount()for i=1 to zdsthisform.list1.additem(field(i))nextmand3.enabled=.t.mand4.enabled=.t.mand5.enabled=.f.mand6.enabled=.f.thisform.list1.listindex=1三、建立调用表单的主控程序:set talk offset sysmenu offclose databasesystit='江西旅游商贸职业学院'_screen.caption=systitdo form 转换read evenset talk on四、创建项目进行连编生成可执行文件:在VFP中创建一个项目,将建立的表单和主程序添加到项目管理器,如图2所示。

用VFP6.0实现EXCEL数据批量制作毕业证

用VFP6.0实现EXCEL数据批量制作毕业证

用VFP6.0实现EXCEL数据批量制作毕业证、奖状、准考证、成绩单、明信片、信封等个人报表在传统的批量打印中,一般都用Excel来处理。

但要在Excel中打印毕业证书却有些困难,因为一般证书都是用Word设计,然后从Excel原始表中“复制”信息“粘贴”到Word中,制作一张打印一个,烦而慢,。

要么使用WORD邮件合并打印EXCEL数据制作实现批量打印。

但比较起来,笔者经过反复尝试和实践找到了一种既不用编程,且简捷、易用的方法。

那就是用VFP6.0实现EXCEL数据批量制作毕业证、奖状、准考证、成绩单、明信片、信封等个人报表,更简单方便。

我所使用的软件是office 2003和VFP6.01.首先要把Excel中的数据转化为VFP6.0中的数据。

(1)先在Excel表的第一行输入相应的字段名如:xm表示姓名、xb表示性别、rxny表示入学年月、csny表示出生年月、byny毕业年月、zy表示专业、y表示月。

(如图),否则转换时可能会出现VFP6.0不能识别的字段名,从而导致转换不成功的现象。

(2)在excel中“文件”下的“另存为”命令,在对话框中的“保存类型”中选择“DBF4(dBASE Ⅳ)( .dbf)”,转换成功后的文件扩展名为DBF。

→就完成了这两个文件的转换。

2用VFP6.0的报表设计器设计界面选择VFP6.0菜单的“文件【新建】”命令,选择“文件类型”中的【报表】,单击【新建文件】,出现然后“文件”另存为:输入文件名,如“高中毕业证书”。

便创建了一报表文件。

打开“【显示】→【工具栏】”菜单命令,选择“报表设计器”。

如图3,按下“报表设计器中”的“报表控件”。

在整个设计中我们只用了〔选取对象〕按钮、〔标签〕按钮和〔域控件〕按钮。

2)下图是笔者设计好的高中毕业证书打印报表。

下面对此做一说明:常量部分用〔标签〕按钮,在其中直接输入,文字的字体、字号等可用“格式/字体”来设定。

变量部分用〔域控件〕按钮,在弹出的“报表表达式”中输入对应的字段名,xm表示姓名、xb表示性别、rxny表示入学年月、csny表示出生年月、byny毕业年月、zy表示专业、y表示月。

Excel表和VFP表数据互换在职业技能鉴定工作中的应用

Excel表和VFP表数据互换在职业技能鉴定工作中的应用

OCCUPATION22010 8在职业技能鉴定工作中,为解决大量数据录入问题,往往需要利用Excel表和VFP表数据形式的互相转换,特别是两表间相应数据列的名称、数据类型、排列顺序等数据转移工作,因此探讨数据互换,对快速、准确、高效完成技能鉴定的统计分析与报表工作具有重要意义。

在职业技能鉴定申报工作中,涉及最多的数据形式是Excel表和VFP表。

经常需要把Excel表和VFP表相应数据列的名称、数据类型、排列顺序等进行互相转换。

如何充分利用这两种软件的各自长处来解决两种表之间数据的各种转移问题,成为职业技能鉴定工作中一个非常有意义的课题。

下面是笔者对此课题所做的几点思考和探讨。

一、职业技能鉴定工作的意义和作用学校开展职业技能鉴定,推行国家职业资格证书制度,是国家人力资源能力建设的重要组成部分,是国家实施人才战略的主要举措。

对学生开展职业技能培训鉴定,推行职业资格证书制度,以此推动学校的教学改革,提高学生实践能力和创新能力,拓宽就业空间的有效途径,也是学校适应新形势、确保高质量、办出新特色的重要举措。

因此,职业技能鉴定在职业教育中起着重要的主导作用。

二、职业技能鉴定数据申报工作的思考职业技能鉴定工作中常用的报名软件运行环境是Visual Foxpro(VFP),其数据库系统生成的文件以扩展名为DBF保存。

一般各班主任、各科室收集的数据大多是Excel表。

起初在录入数据过程中,按报名软件系统将每一个考生数据录入,数据录入的工作量大,容易出错。

如果是多人合作输入,这时就应该按照预先分配、确定的顺序号“号码段”进行更改。

为了管理方便,一般要求本批申报鉴定的考生录为一个“批次”,多人、多机分录的,要借助软件中“多批合并”菜单合并成一个“批次”,即一个数据库表,如果有考生放弃本次鉴定要删除一条或几条记录,或者有考生又想参加本次鉴定要增加一条或几条记录,这样数据只能在文件的末尾追加录入,一个班的考生报考号码就会分配不连续的几段。

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术 我们都知道在 EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的 VBA 语言,可以说 EXCEL 可能是最好用的表格处理软件。

我敢说:微软的产品中大概就 EXCEL 最好! 但是,怎样用 Foxpro 快速产生统计表,并将数据送到 Excel表格中,从而代替 Foxpro 的报表工具呢? 我们大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数 CREATEOBJECT,用该函数可以让 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服务的程序进行通讯。

而 Excel 更是一个标准的 Ole Automation 服务器程序,我们可以在前端将数据传送到后端的Excel 服务程序,用后端服务程序进行表格处理,从而弥补 Visual Foxpro的不足。

由于历史原因,我们作报表都习惯用 Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是 Total 了,但不知道还有多少人还在坚持使用 Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。

假设有一表:Table1 是一个人员档案,里面的表结构如下:-----字段名--类型及长度--------- 编号 C,2 部门 C,10 姓名 C,10 性别 C,2 出生日期 D 职务 C,10 文化程度 C,10内容大概如下TABLE1.DBF---------------------------------编号 部门 姓名 性别 出生日期 职务 文化程度 --------------------------------- 1 工程部 张三 男 1971-01-11 工程师 大学本科  2 销售部 李四 男 1967-02-23 经理 大学本科  3 工程部 王武 1954-03-14 技术员 大学专科  4 总经理室 赵洁雅 女 1975-04-05 秘书 硕士研究生 5 销售部 .. 1977-05-09 销售经理 高中  6 工程部 大文 1969-03-30 总工程师 大学专科  7 销售部 .. 1961-10-10 销售经理 大学专科  8 总经理室 庄稼 1961-10-10 总经理 大学专科  当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。

“vfp字符转数字如何用Excel从字母数字字符串中”的相关知识

“vfp字符转数字如何用Excel从字母数字字符串中”的相关知识

“vfp字符转数字如何用Excel从字母数字字符串中”的相关知识根据网友提出的“vfp字符转数字如何用Excel从字母数字字符串中”等问题,Excel办公网整理了各大知名网站有关“vfp字符转数字如何用Excel从字母数字字符串中”的一些信息,请注意,文中的内容并非本站的观点,不要相信任何联系方式。

下文是关于“vfp字符转数字如何用Excel从字母数字字符串中”的一些基本知识:如何用Excel从字母数字字符串中提取数字问题:如何用Excel从字母数字字符串中提取数字回答:此办理方案的根基道理是搜索并返回字母数字字符串中的第一个数字,然后只返回其后的数字。

算法此办理方案包罗建设公式以完成下列任务:1.将字母数字字符串解析为单独的字符。

2.确定解析后的字符串中是否有数字。

3.确定命字在字母数字字符串中的位置。

4.计较字母数字字符串中数字的数量。

我们将别离思量这些任务,然后将各公式整合在一起以最终功效。

将字母...用自定义函数去掉字符串中的数字问题:用自定义函数去掉字符串中的数字回答:如果要去掉某个字符串中的所有数字,例如将一个字符串“Excel123”去掉数字后变为“Excel”,可以用自定义函数来实现。

按Alt+F11打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入自定义函数:Function RemoveNums(theString As String) Dim eachChar, Temp As String Dim i As Integer Temp = For i = 1 T o Len(theString) eachChar = Mid(theString, i, 1) If Asc(eachChar) < 48 Or Asc(eachChar) > 57 T...excel数字转字符问题:excel数字转字符回答:怎么在excel中自动将已经输入的数字转换为字符(在另一单元格中显示)?最好是函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。

然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel 电子文档。

常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF 文件。

这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。

有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。

具体过程如下:
假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。

为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。

部分程序代码如下:
m.outfilename=putfile('输出结果','agcallop','xls')
&&取导出文件名称
图1 Excel报表
ef=CREA TEOBJECT('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.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行为水平对齐
.V erticalAlignment = 2
&&垂直居中
.NumberFormatLocal = "@"
&&设置3、4行为字符型内容
endwith
ef.Range("A3:A4").Select
ef.Selection.Merge
&&纵向合并第一列3、4行
ef.Range("A3").V alue='工号'
&&设置第一列标题内容
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").V alue='姓名'
&&设置第二列标题内容
ef.Columns("B").Select
&&整列选择
ef.Selection.HorizontalAlignment = 3
&&水平居中
ef.Range("C3:E3").Select
&&横向合并第三行C-E列
ef.Selection.Merge
ef.Range("C3").V alue='话务总量'
&&第三行大标题为“话务总量”的列
ef.Range("C4").V alue='电话呼入量'
&&“话务总量”下第1个小标题“电话呼入量”ef.Range("D4").V alue='电话呼出量'
&&“话务总量”下第2个小标题“电话呼出量”ef.Range("E4").V alue='合计'
&&“话务总量”下第3个小标题“合计”
ef.Range("F3:H3").Select
ef.Selection.Merge
ef.Range("F3").V alue='话务总时间'
ef.Range("F4").V alue='呼入时间'
ef.Range("G4").V alue='呼出时间'
ef.Range("H4").V alue='合计'
ef.Range("I3:K3").Select
ef.Selection.Merge
ef.Range("I3").V alue='单个话务平均时间'
ef.Range("I4").V alue='呼入时间'
ef.Range("J4").V alue='呼出时间'
ef.Range("K4").V alue='合计'
ef.Range("L3:L4").Select
ef.Selection.Merge
ef.Range("L3").V alue='累计工作时间'
ef.Range("M3:M4").Select
ef.Selection.Merge
ef.Range("M3").V alue='无效时间'
ef.Range("N3:N4").Select
ef.Selection.Merge
ef.Range("N3").V alue='录入量'
ef.Range("O3:O4").Select
ef.Selection.Merge
ef.Range("O3").V alue='有效时间比'
接下来通过scan语句,依次为每一行每一列单元格赋值。

为了获得更好的打印效果,还需进行页面设置,如标题行、页面居中、横向排版等,还可以加边框线。

以上程序在VFP 6+Excel 2000+Windows 2000下调试通过。

实际应用中可根据需要对各项参数设置进行相应调整。

相关文档
最新文档