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

合集下载

excel表格中数据导入到另一个表的教程

excel表格中数据导入到另一个表的教程

excel表格中数据导入到另一个表的教程
在Excel中录入数据的时候经常需要用到之前已经录入好的数据表的数据,这个时候可以把之前的表的数据导入过来就省去了录入数据的时间了,具体该如何操作呢?接下来是店铺为大家带来的excel表格中数据导入到另一个表的教程,供大家参考。

excel表格中数据导入到另一个表的教程:
表格中数据导入另一表步骤1:如下是一个Excel工作薄中的两张表,分别为Sheet1和Sheet2,下面分别以表1和表2来代替。

我们要把表2中的语文成绩导入到表1中,但是从图中可以看出表1和表2名字并不一一对应
表格中数据导入另一表步骤2:选中表1,选中C2单元格,即语文项目中第一个要录入的成绩。

选择“插入—函数”命令
表格中数据导入另一表步骤3:在“或选择类别”中选择“查找与引用”
表格中数据导入另一表步骤4:在对应的“选择函数”中选择“VLOOKUP”,点击确定
表格中数据导入另一表步骤5:在出现的“函数参数”面板点击第一个选项箭头处的按钮
表格中数据导入另一表步骤6:点击“张三”名字,即“A2”单元格,表示我们要查找“张三”的成绩,点击上面的按钮回到面板上表格中数据导入另一表步骤7:点击第二个选项箭头处的按钮
表格中数据导入另一表步骤8:选中表2,同时选择A列和B列,然后点击上面的按钮
表格中数据导入另一表步骤9:因为在表2中语文成绩在第二列,所以第三项我们填入数字“2”
表格中数据导入另一表步骤10:第四项我们直接填入“0”即可,点击确定
表格中数据导入另一表步骤11:我们看到表1中张三的语文成绩出现了数值,该数值与表2相同
表格中数据导入另一表步骤12:选中C2单元格,用填充柄下拉,所有的语文成绩就从表2填入表1中去了。

将excel文件转换成foxpro数据库文件

将excel文件转换成foxpro数据库文件

将excel文件转换成foxpro数据库文件陆鹰、毕爱玲作为常用的应用软件,excel不仅为我们提供了强大的统计计算功能,而且还提供了丰富的文件格式转换功能,我们可以将excel电子表格文件转换成查询、统计、数据管理功能更为强大的foxpro数据库文件。

然而仅仅简单地按照excel 软件的菜单和窗口中的提示来进行转换,常常会造成转换后的大量数据丢失甚至无法在foxpro中使用的现象,在对多列、多行数据较长的大数据量的excel文件(需要用数据库管理的数据常常如此)进行转换时此问题尤为突出。

笔者经过多次实践,发现将excel电子表格文件转换成foxpro数据库文件而不丢失数据有规律可循。

excel电子表格文件与foxpro数据库文件转换前后的对应关系excel电子表格文件中的第一行数据形成转换后的foxpro数据库文件的字段名,第二行到最后一行形成foxpro数据库文件的全部记录,且数据库记录的顺序与电子表格文件的行的顺序相同,即如果excel电子表格文件有n行,则转换后的foxpro数据库文件有n-1条记录;excel电子表格文件的第2~n行对应着foxpro数据库文件的第1~n-1条记录。

与之相类似的是excel电子表格文件的列形成转换后的foxpro数据库文件的全部字段项,并且一一对应。

但excel文件列的排列顺序与foxpro数据库文件的字段的排列顺序不一定完全相同。

对excel电子表格文件第一行的处理excel电子表格文件中的第一行数据对转换后的foxpro数据库文件很重要。

经笔者多次实践发现,excel文件的每一列数据的宽度直接决定转换后的foxpro数据库文件的字段长度。

如果第一行的某列的字符宽度小于同一列后面其他行的数据宽度,则会造成转换后的foxpro数据库文件对应该字段的数据不完整或丢失。

因此,为了保证转换后数据的完整性,对excel电子表格文件中的第一行数据进行适当的处理是必要的,可采用插入一定宽度的字符(必须是foxpro数据库文件允许作为字段名的字符,最好用英文字母)使该栏内的数据的字符长度等于或大于该列数据的最大宽度。

将excel文件转换成foxpro数据库文件

将excel文件转换成foxpro数据库文件

将excel文件转换成foxpro数据库文件陆鹰、毕爱玲作为常用的应用软件,excel不仅为我们提供了强大的统计计算功能,而且还提供了丰富的文件格式转换功能,我们可以将excel电子表格文件转换成查询、统计、数据管理功能更为强大的foxpro数据库文件。

然而仅仅简单地按照excel 软件的菜单和窗口中的提示来进行转换,常常会造成转换后的大量数据丢失甚至无法在foxpro中使用的现象,在对多列、多行数据较长的大数据量的excel文件(需要用数据库管理的数据常常如此)进行转换时此问题尤为突出。

笔者经过多次实践,发现将excel电子表格文件转换成foxpro数据库文件而不丢失数据有规律可循。

excel电子表格文件与foxpro数据库文件转换前后的对应关系excel电子表格文件中的第一行数据形成转换后的foxpro数据库文件的字段名,第二行到最后一行形成foxpro数据库文件的全部记录,且数据库记录的顺序与电子表格文件的行的顺序相同,即如果excel电子表格文件有n行,则转换后的foxpro数据库文件有n-1条记录;excel电子表格文件的第2~n行对应着foxpro数据库文件的第1~n-1条记录。

与之相类似的是excel电子表格文件的列形成转换后的foxpro数据库文件的全部字段项,并且一一对应。

但excel文件列的排列顺序与foxpro数据库文件的字段的排列顺序不一定完全相同。

对excel电子表格文件第一行的处理excel电子表格文件中的第一行数据对转换后的foxpro数据库文件很重要。

经笔者多次实践发现,excel文件的每一列数据的宽度直接决定转换后的foxpro数据库文件的字段长度。

如果第一行的某列的字符宽度小于同一列后面其他行的数据宽度,则会造成转换后的foxpro数据库文件对应该字段的数据不完整或丢失。

因此,为了保证转换后数据的完整性,对excel电子表格文件中的第一行数据进行适当的处理是必要的,可采用插入一定宽度的字符(必须是foxpro数据库文件允许作为字段名的字符,最好用英文字母)使该栏内的数据的字符长度等于或大于该列数据的最大宽度。

巧将Excel建立的工作簿文件转成VFP成绩报表

巧将Excel建立的工作簿文件转成VFP成绩报表

巧将Excel建立的工作簿文件转成VFP成绩报表图1找到需导入的电子工作簿能否将Excel 2000建立的工作簿文件转化成Microsoft Excel 5.0和97(XLS)格式?启动Excel 2000,打开“另存为”对话框,发现保存类型可以保存为Microsoft Excel 5.0/95工作簿,于是将Excel 2000建立的工作簿文件保存为Microsoft Excel 5.0/95工作簿,再进行VFP中的“导入”操作,工作簿被成功导入了。

在“命令”窗口中,输入“list”,查看导入的结果,无误!用“list stru”,发现“字段名”、类型、字段“宽度”不合要求,在“命令”窗口使用“modi stru”命令分别按要求对“字段名”、类型、字段“宽度”进行修改,如图2所示。

图2对字段宽度进行修改修改完毕,用VFP进行“导出”操作,如图3所示,至此符合要求的VFP成绩报表制作完成了。

图3用VFP进行导出利用VFP制作财务报表——谈VFP与Excel的交互操作在VFP中制作财务报表(或者是其他报表),通常的方法是利用VFP的报表生成器一步一步地生成,这种方法用起来很麻烦,而且打印出来的报表格式也不能尽如人意。

提到制作报表,你可能够马上想到大名鼎鼎的Excel,我们能不能将二者结合起来——利用VFP的数据处理的结果,再使用Excel排版并且打印输出,而且还要让二者结合得天衣无缝呢?答案是肯定的,利用OLE技术,你能够很容易地实现上述想法。

大家对VFP的CreateObject函数可能不会陌生,利用CreateObject函数,你能够在VFP中创建并使用任何在你计算机上注册了的类(通常在安装应用程序时,应用程序都会向注册表里添加类信息)。

也就是说你能够在VFP中调用任何应用程序为你的数据处理服务。

CreateObject的具体用法如下:CREATEOBJECT(ClassName[eParameter1,eParameter2,...])其中,ClassName指明欲建立对象的类名。

如何在vfp中调用excel实现图、表的制作(之二)

如何在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进行操作。

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

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)或逗号“,”分隔。

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实现图、表的制作(之八)

如何在vfp中调用excel实现图、表的制作(之八)

如何在vfp中调用excel实现图、表的制作(之八)如何在vfp中调用excel实现图、表的制作(之八)本讲纯属凑数,将搜集的一些可能用到的VFP调用Excel指令语句罗列出来供各位在编程时参考。

所幸没有稿酬可赚,也就没有骗稿费之嫌,各位看官也就不会责怪我。

呵呵。

1. 创建Excel对象eole=CreateObject(“Excel.application”)2. 添加新的工作簿eole.Workbooks.Add3. 打开指定工作簿eole.Workbooks.Open(“C:\demo.xls”)4. 设置第三个工作表为激活(作用)工作表eole.WorkSheets(“Sheet3”).Activate5. 是否显示Excel窗口eole.Visible=.T. (.T. 显示;.F.不显示)6.关闭工作簿eole.Workbooks.Close7.退出Exceleole.quit8.保存当前工作簿eole.ActiveWorkbook.Save9.当前工作簿另存为eole.ActiveWorkbook.SaveAs(“e:\temp\my1.xls”)10.退出时是否存盘eole.ActiveWorkbook.Saved=.F. (.F. 放弃存盘;.T.不放弃存盘)11.是否防止警告框的出现eole.DisplayAlerts=.F. (.F. 不出现;.T.出现)12.运行Excel宏eole.Application.Run(“宏1”)13.当前屏不显示零值eole.ActiveWindow.DisplayZeros=.F.14.更改Excel标题栏内容eole.Caption=”趋势分析表”15. 给单元格赋值eole.Cells(1,4).Value=3.141616.选定区域eole.ActiveSheet.Range(“A1:G10”).Select17.清除区域eole. ActiveSheet.Range(“A1:G10”).Clear18.合并单元格eole.ActiveSheet.Range(“A1:B2”).Merge19. 设置字体eole.ActiveSheet.Cells(2,1)=”隶书”20. 设置字号eole.ActiveSheet.Cells(2,1).font.size=1621.设置字体颜色eole.ActiveSheet.Cells(1,1).font.ColorIndex=322.字体设为斜体eole.ActiveSheet.Cells(1,1).font.Italic=.T.23.文字带下划线eole. ActiveSheet.Range(“A2:A2”).font.underline=.T.24.整列字体为粗体eole.ActiveSheet.Columns(2).font.bold=.T.25.设置单元格背景色eole. ActiveSheet.Cells(3,4).Interior.ColorIndex = 46 26.调整列宽eole.Range(“A1:H1”).ColumnWidth=12.527.调整指定列宽度eole.ActiveSheet.Column(2).ColumnWidth=2028.单元格文字居中eole.Cells(1,8).HorizontalAlignment=329.插行eole.ActiveSheet.Rows(1).Insert30.删行eole.ActiveSheet.Rows[8].Delete31.插列eole.ActiveSheet.Columns(2).Insert32.删列eole.Columns("D:D").Selecteole.Selection.Delete(-4159)33.删除指定工作表指定列eole.WorkSheets(“Sheet1”).Row(3).Delete34.调整行高eole.ActiveSheet.Rows(5).RowHeight=4035.块拷贝eole.Range(“A1:J3”).Selecteole.Selection.Copy或:eole.ActiveSheet.Range(“A1:E2”).Copy36.块粘贴eole.Range(“A1:A1”).Selecteole.ActiveSheet.Paste37.拷贝整个工作表ed.Range.Copy / eole.Cells.Copy 38.在指定工作表指定单元格粘贴eole.WorkSheets(“Sheet2”).Range(“A1”).PasteSpecial 39.单元格设置公式eole.Range(“A1”).Fornula=”=10*Rand()”40.清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents41.插入新工作表eole.Sheets.Add42.删除某个工作表eole.Sheets(“Sheet2”).Selecteole.ActiveWindow.SelectSheets.Delete43.返回当前工作簿工作表的总数eole.WorkSheets.Count44.返回Sheet1工作表的表名eole.WorkSheets(1).Name45.工作表更名eole.Sheets(2).Name=”损益表”46. 设置表格四个边框线条的类型eole.ActiveSheet.Range(“B3:D3”).Borders(2).Linestyl e=1 其中:borders参数:1-左 2-右 3-顶 4-底 5-斜/ 6-反斜\Linestyle参数:1和7-细实线;2-细虚线;4-点虚线;9:双细实线47. 设置表格边框线粗细eole.ActiveSheet.Range(“B3:D3”).Borders(2).Weight=348.在指定行插入分页符eole.WorkSheets(“Sheet1”).Rows(10).PageBreak=149.在指定列之前删除分页符eole.ActiveSheet.Columns(4).PageBreak=050.打印预览工作表eole.ActiveSheet.PrintPreview51.打印输出eole.ActiveSheet.Printout52.报表打印方向eole.ActiveSheet.PageSetup.Orientation=1 (1:垂直打印2:水平打印)53.设置页面纸张尺寸eole.ActiveSheet.PageSetup.PaperSize=954.打印单元格网线eole.ActiveSheet.PageSetup.PrintGridLines=.T.55.报表水平居中eole.ActiveSheet.PageSetup.CenterHorizontally=.T.56.报表垂直居中eole.ActiveSheet.PageSetup. CenterVertically=.T.57.设置报表页眉eole.ActiveSheet.PageSetup.CenterHeader=”报表1”58.设置报表页脚eole.ActiveSheet.PageSetup.CenterFoo ter=”第6页”59.设置报表左边距eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 (2厘米)60.设置报表右边距eole.ActiveSheet.PageSetup.RightMargin=2/0.03561.设置报表顶边距eole.ActiveSheet.PageSetup.T opMargin=2/0.03562.设置报表底边距eole.ActiveSheet.PageSetup.BottomMargin=2/0.035关于VFP调用Excel 编程最后再罗嗦几句。

如何实现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 期

把Excel制作的批量数据倒入Vf6数据库中的方法

把Excel制作的批量数据倒入Vf6数据库中的方法

把Excel制作的批量数据导入到VF6数据库中的方法在数据管理中往往需要用到专门的数据库管理软件,使用专门的数据管理软件常常需要逐项录入。

为了提高录入效率,我们可以借用Excel输入数据,再导入到相应的数据库文件中去,生成数据库文件。

如果对数据库文件没有什么特别要求,我们可以直接用Excel另存为dbf文件,供给数据库程序使用。

大多数情况下上级部门下发的数据库,往往对数据库中字段的类型有些特定的要求,比如字符类型,字符位数等等,这时候我们需要另存成数据库文件之后需要进入表设计器,重新修改数据类型,字符位数等等,使之符合要求。

下面就介绍一下,在导入过程中需要注意的一些问题,。

如果想把日期导入到数据库中去,首先要保证在Excel中日日期这一列的格式符合相应的要求,例如参见下图可以在设置单元格格式对话框中制定相应的格式类型如下图,如果日期格式的样式不符合需求,可以在后期导入过程中指定相应的日期格式。

如果在这里不指定日期格式,只是按文本设置,后期导入过程中可能会出现日期数值不显示。

在导入数据库的过程中,VF6对以文本形式存储的数字是区别对待的,我们注意观察下列数据中数据的区别,有些以文本形式存储的数字左上角有一个绿色的小三角,有些则没有这个绿色的小三角形,左上角有绿色小三角形的数字,它可以正常识别为文本,对于左上角没有绿色小三角的数字,它也可以识别为文本,但是它会在它前面加上默认的空格,然而在VF6数据库中却并不显示这些空格,如果数据库,对数据列的位数有要求,就会导致显示不正常,导入数据后如果修改数据列的位数符合要求,则会导致丢失后面几位数字,所以在Excel输入中要尽可能保证输入的左上角有这个小绿色的三角形。

对于像邮政编码一类的,相同的数据,可以自动填充,并能保证他们的格式完全相同,而对于身份证之类的数据,使用正确的格式输入一个身份证号之后,自动填充后面的表格,然后再逐个修改,可以保证他们的格式都符合要求。

Excel数据导入和导出与其他软件的无缝交互

Excel数据导入和导出与其他软件的无缝交互

Excel数据导入和导出与其他软件的无缝交互数据的导入和导出是Excel软件在实际应用中经常使用的功能之一。

而要实现Excel数据与其他软件的无缝交互,则需要借助一些技巧和工具。

本文将介绍在数据导入和导出过程中的一些常用方法,以及如何实现与其他软件的无缝交互。

一、Excel数据的导入1. 打开Excel软件,在工作表中选择导入的位置。

2. 导入文本文件。

点击“数据”选项卡中的“从文本”按钮,选择要导入的文本文件,按照导入向导的提示进行设置即可。

3. 导入数据库数据。

点击“数据”选项卡中的“从其他来源”按钮,选择相应的数据库类型,输入连接信息,选择需要导入的数据表,并进行设置。

4. 导入Web数据。

点击“数据”选项卡中的“从Web”按钮,输入要导入的网页地址,点击“导入”按钮,选择需要导入的数据并进行设置。

5. 导入其他格式数据。

Excel还支持从XML、CSV等格式文件中导入数据,通过相应的导入向导进行设置即可。

二、Excel数据的导出1. 导出为文本文件。

选择要导出的数据区域,点击“文件”选项卡中的“另存为”按钮,选择要保存的文件格式为文本文件,按照保存向导的提示进行设置即可。

2. 导出为PDF文件。

选择要导出的数据区域,点击“文件”选项卡中的“另存为”按钮,选择要保存的文件格式为PDF,按照保存向导的提示进行设置即可。

3. 导出为数据库数据。

通过Excel提供的ODBC功能,可以将Excel数据导出到数据库中。

点击“文件”选项卡中的“另存为”按钮,选择要保存的文件格式为数据库类型,输入连接信息并进行设置。

4. 导出为图像文件。

选择要导出的数据区域,点击“文件”选项卡中的“另存为”按钮,选择要保存的文件格式为图像文件,按照保存向导的提示进行设置即可。

5. 导出为其他格式数据。

根据实际需求,可以将Excel数据导出为XML、CSV、HTML等格式的文件,通过相应的保存设置进行导出。

三、Excel与其他软件的无缝交互1. 通过剪贴板实现数据交互。

excel如何导入到VFP中

excel如何导入到VFP中

Visual FoxPro 6.0中文版命令手册excel如何导入到VFP中比如EXCEL的文件名是 t001 怎么做才能导入到VFP中啊!import from dd.xls type xlsuse ddcopy to d:\newddIMPORT不能指定新生成表的存放路径,一般会自动保存到默认目录下。

用以下语句可以实现你的要求:IMPORT FROM t001.xls type xl8 &&导入t001.xls并(在默认目录下)生成t001.dbf文件copy to d:\t001 &&复制文件到D盘Use &&关闭t001表DELETE FILE t001.dbf &&删除(在默认目录下的)t001.dbf文件使用import命令,如:IMPORT FROM 表1.xls TYPE xl8将表1.xls导入为表1.dbf---------------------------------------------------------------用VFP导入点击“文件”->导入->类型选择:“Microsoft Excel 5.0 和 97 (XLS)”来源于选择:你要导入的Excel文件工作表:默认为Sheet1,如是你要把Excel文件中Sheet2中内容导过来,就选择“Sheet2”->最后点击导入即可。

*******************************************************************如果导入时出现提示:致命错误:异常代码=C0000005*可以把Microsoft Excel 在保存时存为Microsoft Excel 5.0/95 格式或4.0格式。

这样就能导入了。

******************************************************************以上操作相当于如下命令操作:IMPORT FROM 你的表.xls TYPE XL8 SHEET "Sheet2"有时需要把Excel表另存为“Microsoft Excel 5.0 和 97 (XLS)”格式后,再用以上命令进行导入。

从excel导入数据到vf,并且字段名为第一行名[梅子论坛]

从excel导入数据到vf,并且字段名为第一行名[梅子论坛]

从excel导入数据到vf,并且字段名为第一行名[梅子论坛]close allset safety offset default to 'e:\'&&设置默认目录messagebox('请选择要导入的XLS文件'+chr(13)+;'注意表格不要有格式,首行的命名符合规则';+chr(13)+'只把第一行做为字段','提示')ss=getfile('xls')&&打开选择文件对话框,并赋值if isblank(ss)returnendifmyexcel=createobject('excel.application')&&创建EXCEL对象*myexcel.visible=.t.bookexcel=myexcel.workbooks.open(ss)&&打开选择的文件i=1***************获得表的可用sheet*************************************for each omyvar in myexcel.sheetsdimension a(i)a(i)=i=i+1next omyvar******************************************************nrows=bookexcel.worksheets(a(1))&&设置第一个表为工作表UsedRange =edRange&&设置工作区域***************把第一行的数据赋值给数组b,一会删除第一行,便于导入*****ma=usedrange.columns.count&&返回列的总数dimension b(ma)for i=1 to mab(i)=myexcel.cells(1,i).valuenext******************************************************myexcel.Worksheets(a(1)).Activatemyexcel.activesheet.rows(1).select&&选中第一行myexcel.Selection.EntireRow.Delete&&删除选中的行myexcel.Worksheets(a(1)).select*********检查d:\hh.xls是否存在,若存在,删除***********IF FILE('d:\hh.xls')DELETE FILE d:\hh.xlsENDIF*********************************myexcel.ActiveWorkbook.SaveAs('d:\hh.xls')&&文件另存为myexcel.ActiveWorkbook.saved=.t.&&不保存修改myexcel.workbooks.close&&关闭工作区不提示保存myexcel.quit&&excel退出*release myexcel*******************import from d:\hh.xls type xl5&&导入到默认目录下的hh.dbf 表中DELETE FILE d:\hh.xls&&删除表***********给表字段重命名**************************use hhma=fcount()dimension c(ma)for la=1 to mac(la)=field(la)nextfor la=1 to mala,c(la),b(la)alter table hh rename &c(la) to &b(la)next***************************************** messagebox('已成功将表导入到E:\hh.dbf','提示') close all。

利用VFP编程实现Excel表数据转移

利用VFP编程实现Excel表数据转移

1 问题 的提 出
V P VsM Fxr) F ( i opo 是一种关系型数据库管理 u 系Байду номын сангаас , 其强大 的数据处理能力及其 面向对象 的编程
( )E cl 中需 要 被 转 移 的数 据并 不 是 连 续 3 xe表 的行或 列 , 且存 在行 或列 内的数据 类型 并不 一致 ; 并
() 4 需要被转移 的行或列的数据操作繁琐且具
有某些共通性。 因此 , 对这些数据实施转移工作时 , 用手工完成显
得非常麻烦和费时 , 而采用程序 自动实现就 比较简单。
能力 , 使其得到数据库应用程序开发人员 的广泛使 用 。而 E cl xe则是 一个 优 秀 的电子 表格处 理 软件 , 在
E cl E cl xe — xe 的关 联性 如 图 1 示 。 所
cl e表转换为 V P表的工作 , 种软件都提供了相应 F 2 的转换功能 , 般用户很容易操作 , 一 但是利用 V P F 编程语言对 Ecl 中部分数据实施转移 的情况就 xe表 要复杂得多。Ecl 内的数据转移可能存在 以下 xe 表 几个 方面 的 问题 : ( )Ecl 中可能存在某些行 的数据不需要 1 xe表 被转移 , 需要转移或者可 以转移 的仅是其中较规范
谢运山
( 苏省 水文 水资 源勘 测局镇 江分局 , 苏省镇 江 市 2 20 ) 江 江 103
摘 要: 基于实现生成降水量合理性对照表 的 目的 , 对程序设 计思想 和实 现方法做 简要介绍 。主要是利 用 V P编 F
程语言 自动实现 E C L表 格内数据批量 转移至 另一个 E C L表 内, XE XE 而省去 繁琐 的人工劳 动 , 并减 少手 工操作过 程 中出错 的可能性 。

Excel表导入VF库方法

Excel表导入VF库方法

Excel转换成DBF文件格式的方法:(仅供参考)第一步:先编辑好要转换的电子表格。

格式为:1、所有字体设置为宋体,字号为10,左对齐。

2、将所有的字段名改为dbf中一致的英文字段名。

3、将文档格式另存为:Microsoft Excel 5.0 /95工作簿。

一、在Excel表(以下说明以此表保存在桌面为例)的首行录制好VF库中每列所需的字段名;二、打开VF如下图:三、单击“文件”——“导入”四、在“导入”框中选择“类型”如下图:(注:如果后面操作时无法导入可能是待导入Excel表格版本与VF需导入的Excel 版本不一致的缘故,可打开待导入的Excel表格将其另存为版本为Excel5.0表格,导入时选择另存的Excel5.0表格)五、单击“来源于”方框后的图标选择欲导入的Excel表格:六、选择好后点击“导入”框中的导入向导呈现如下图:七、在文件类型框中选择Excel5.0八、在点击“源文件”方框后的得到如下图:九、选择好待导入的Excel表格后点击呈现如下图:十、在点击指明新建表存放路径,同时设置新建表的文件名十一、点击后呈现如下图:十二、点击后呈现如下图:十三、点击后呈现如下图:十四、设置字段名所在行为“1”,导入起始行为“2”(因为VF库中的第一行数据在Excel表格中的第二行),如下图:十五、点击后呈现如下图:十六、接下来有几种可选操作:1. ⑴此时可在此设置字段名、类型及宽度,设置好后点击设置日期格式等,如下图:⑵日期等格式设置好后点击⑶点击即可结束导入程序。

2. ⑴(选择此种操作方式后需在新建的VF库中的表设计器中去设置字段名、类型及宽度等)点击呈现如下图:⑵点击结束导入程序。

附:一、出生日期(DBF库中要求出生日期为日期型)导入前处理办法1.新建一列空白列,将其设置成文本格式;2.将含有出生日期的那列数据复制粘贴至记事本中;3.把记事本中的数据复制到新建的文本格式的空白列中(此列数据就可导入DBF库了)。

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)格式。

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

Excel表数据导入到VFP表的动态实现

Excel表数据导入到VFP表的动态实现

由于各二级学院使用 E cl xe表填报课酬预算 ,主管
部 门将 各二 级学 院上 报 的 E cl 导 人 系统 汇 总 , xe 表 再 进行 核 查 、统 计 、分 析 。为 此 需 要 每次 将 大 量
管理系统软件之一 ,其强大的数据处理能力及其 面向对象 的编程能力 ,使其得到数据库应用程序
型) 、Y ( 币会计 型也是数 值类 型) 货 、T (3 1期
型) 、c ( 字符型) ,这样 可以很容易在 V P表中 F 与之对应来解决数据类型的匹配转换。具s .b V P数据表结构表) 与 ipr r a r m o —po t ( 数据导人方案表 )结构一样 ,用来作为当前转换
开发人 员 的广泛 使用 。E cl 一个 优秀 的 电子 表 xe是
E cl xe表数据 ( 如学 院的课 酬预 算表、教学计划 表 、教师 信息 表、专 业班 级 信息 表 等 )导 人 到
V P开发 的 “ 酬 核算 系统 ” 中 ,通 过 系 统设 计 F 课
格处理 软件 ,在兼容 性、操 作界面 、公 式运 算、
第 1期

忠 :E cl xe 表数据导入到 V P表 的动态 实现 F 表 2 i o — po( mpr r 数据导人方案表 ) t
・5 l・
通过 编程 测 试发 现 E cl 中单 元 的数 据类 型在 转 xe 表
换到 V P中时 ,只有 4种数据类型 ,即 N ( F 数值
较强 的安 全 性 ,是 目前 最 快 捷 、最 实 用 的 数 据 库
数据表间数据相互转换 工作 ,用 手工完成非常麻
烦 、费 时 ,也 容易 出现差错 。 笔 者是在 我校 “ 量 工 程 ” 项 目 “ 酬 核算 质 课 系统 ” 中遇 到 实 际 问题 而 提 出 的 一 个 解 决 方 法 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从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的数据转移程序,成功地解决了这一问题。

二、设计思路综合考虑上述三个问题,程序设计宜采用的方法是把Excel表中数据按单元格逐一转移到VFP表中,所以,需要完成下列三项任务:(1)建立Excel表中要转移数据的列与VFP表中要接受数据的字段之间一一对应的关系,这项工作等于给两表之间的数据转移牵图1程序构件展示线搭桥,是非常关键的一项任务(如图2所示)。

(2)读取Excel表中要转移数据的起止行行号,从横向上确定要转移数据的范围。

Excel表中一行数据(也可能是一行中的某些列)对应VFP表中的一条记录。

(3)转移数据时要处理两表中数据类型不一致的问题,以及数值型数据小数位数不一致而必须考虑的数据四舍五入问题。

在考虑上述三项任务的实现方法时,还要考虑用户操作的便捷性,直观性。

本程序的所有操作对象都展现在图1所示的桌面上,所有操作无需键盘输入,只需点击鼠标。

三、实现方法本程序设计了一张表单,在表单顶部设置了五个按钮、两个文本框,下部设置了一个表格控件(如图1下半部所示`),它们将完成下列五个步骤的工作:1、打开数据表指打开已存在的VFP数据表,打开的VFP 表会显示在表单下部的表格控件中。

此表被打开,一是为了直观地向用户展示表的结构及数据,二是为了在建立与Excel表关联关系时供用户用鼠标选择相关的列。

2、打开Excel表指打开要转移数据的Excel表。

首先利用VFP系统自带的函数创建一个Excel应用对象,并借助该对象的方法打开Excel表,以后VFP程序还要调用该对象的方法和属性完成对Excel表的各种操作。

3、XL—VFP勾通即建立Excel表中列与VFP表中对应字段之间的关联关系。

用户在操作此项功能前,先要把Excel表和VFP表平铺在桌面上(如图1所示),并分别点击鼠标到要建立关联的Excel 表列和VFP表字段列中使其被选中,然后再点击“XL—VFP勾通”按钮,程序便会自动在关联数据表中增加一条记录,保存两表间数据的关联关系,依次建立两表中所有数据项之间的关联关系,所有操作均在图1展示的界面中完成,直观便捷。

上述方法建立的两表间关联关系存储在一个磁盘数据表中,可以被多次重复使用。

此关联表的内容与结构用图3所示的表单展示给用户,其右上角的“?”按钮提供一个功能菜单帮助用户操作此表,如用户不再重用此表中关联数据时可以清除其中记录。

当用户不需要查看关联表的内容时,图3所示表单可以减缩为一个命令按钮排列在打开“Excel表”按钮之右。

4、确定起止行号读取Excel表中需要转移数据的起、止行行号,并记入表单顶部的两个文本框中。

行号的读取可以用鼠标先点击Excel表中起始行的任意一个列的单元格使其得到焦点,然后再点击存放起始行号的文本框,程序通过调用Excel应用对象的相关属性读取起始行号并存入文本框中。

终止行的读取方法与之相同。

当然也可以直接在文本框中输入起止行号。

5、数据转移上述四个步骤完成后,便可点击表单右上部的“Xl→Vfp”按钮,进行数据的转移工作。

“Xl→Vfp”按钮的click事件代码按照关图3 Excel-VFP关联表图2 Excel-VFP数据转移示意图联表(图3所示)中记录的两表间数据项的关联关系,按照一行一个记录的方式,将Excel 表每一行中相关单元格的数据逐一复制到VFP表中对应的字段中,复制过程还可能要转换数据类型以及对数值型数据做小数位数的调整工作。

四、主要代码1、打开Excel表的代码:excel_name=getfile('xls','Excel文件')if empt(excel_name)retuendif#define True 1XLApp = createobject("Excel.Application")XLApp.visible = TrueXLApp.Workbooks.Open(excel_name)thisform.refresh2、建立XL表数据与VFP表数据关联关系的代码:if type('xlapp') = 'U' ;or empt(thisform.VfpGrid. recordsource)retuendifthis.forecolor = rgb(255,0,0)nXlColumn = xlapp.activecell.columnnXlColumn1 = int(nXlColumn/26)nXlColumn2 = mod(nXlColumn,26)sAZ= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'do casecase nXlColumn1 > 26messagebox('xl列值太大!')retucase nXlColumn1= 0nXlColumn1 = ''nXlColumn2 = subs(sAZ, nXlColumn2,1)case nXlColumn1>0 and nXlColumn2>0 nXlColumn1 = subs(sAZ,nXlColumn1,1) nXlColumn2 = subs(sAZ,nXlColumn2,1)case nXlColumn1>0 and nXlColumn2 = 0 nXlColumn1 = subs(sAZ,nXlColumn1-1,1) nXlColumn2 = 'Z'endcasesele xltovfploca for vfp字段= cFieldnameif !found()loca for empt(alltrim(vfp字段))if !found()appe blankendifendifsele(tabname)repl xltovfp.vfp字段with cFieldname,; xltovfp.值类型with type(cFieldname),; xltovfp.xl列with nXlColumn1 + nXlColumn2 do casecase xltovfp.值类型= 'C'repl xltovfp.常量值with &cFieldnamecase xltovfp.值类型= 'N'repl xltovfp.常量值with;str(&cFieldname,18,6)case xltovfp.值类型= 'D'repl xltovfp.常量值with DtoC(&cFieldname) endcasethisform.gridcontainer.xlvfpgrid.setfocus=inkey(0.1)this.forecolor = rgb(0,128,128)3、由XL表向VFP表导入数据的代码:this.forecolor = rgb(255,0,0)sAZ= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' for i = thisform.txtrow1.value;to thisform.txtrow2.valuenXLrow = isele(tabname)appe blanksele xltovfpscanif empt(vfp字段)loopendifcXlcolumn = alltrim(xl列)do casecase len(cXlcolumn) = 0nXlcolumn = 0case len(cXlcolumn) = 1nXlcolumn = at(cXlcolumn,sAZ)case len(cXlcolumn) = 2nXlcolumn=26*at(left(cXlcolumn,1),sAZ); + at(right(cXlcolumn,1),sAZ)endcasecVfpcolumn = alltrim(vfp字段)cConstant = alltrim(常量值)cDataType = alltrim(值类型)sele(tabname)if empt(cXlcolumn)if !empt(cConstant)do casecase cDataType = 'C'repl &cVfpcolumn with cConstantcase cDataType = 'N'repl &cVfpcolumn with val(cConstant)case cDataType = 'D'repl &cVfpcolumn with CtoD(cConstant)endcaseendifelsexlCellV alue = XlApp.ActiveSheet.Cells[nXlrow,nXlcolumn].value if type('xlCellV alue') <> cDataTypedo casecase type('xlCellV alue') = 'N';and cDataType = 'C'cDecimal = alltrim(str((xlCellvalue - int(xlCellV alue))*10000))do while right(cDecimal,1) = '0'cDecimal = left(cDecimal,len(cDecimal)-1)enddonDecimal = len(cDecimal)nInteger = len(alltrim(str(int(xlCellV alue))))repl &cVfpcolumn with str(xlCellV alue,nInteger+nDecimal+1,nDecimal)case type('xlCellV alue') = 'N' and cDataType = 'D'xlCellV alue = str(xlCellV alue,8)repl &cVfpcolumn with CtoD(subs(xlCellV alue,1,4); +'/'+subs(xlCellV alue,5,2)+'/'+subs(xlCellV alue,7,2)) case type('xlCellV alue') = 'C' and cDataType = 'N'repl &cVfpcolumn with val(alltrim(xlCellV alue)) case type('xlCellV alue') = 'C' and cDataType = 'D' repl &cVfpcolumn with CtoD(alltrim(xlCellV alue)) case type('xlCellV alue') = 'D' and cDataType = 'C' repl &cVfpcolumn with DtoC(xlCellV alue)endcaseelse if cDataType = 'C'repl &cVfpcolumn with alltrim(xlCellV alue)elserepl &cVfpcolumn with xlCellV alueendifendifendifsele xltovfpendscanendfor=inkey(0.2)this.forecolor = rgb(0,128,128)thisform.vfpgrid.setfocus4、记录起止行号的文本框控件代码(两个文本框代码相同):this.value=iif(!type('xlapp')='U',xlapp.selection.row,1) thisform.refresh五、结束语本程序经过两年多的使用,证明其操作简便、易学易用,在处理从Excel表到VFP表的数据转移工作方面灵活、快捷、高效。

相关文档
最新文档