DBF与EXCEL互转
XLS和DBF文件轻松转换

提示:如果单元格中包含小数,而这些数字为“常规”格式,则该数值将按照与它最接近的整数取整。如果要保留小数点后面的数字,则须选中该单元格,点击“格式→单元格”,进入“数字”选项卡,在“分类”栏中选择“数值”,然后指定需要保留的小数位数。
将XLS文件转换为DBF文件还有一个方法,就是在FoxPro里单击“文件→导入”,在“类型”栏选择Excel版本,然后选择Excel文件和工作表,最后按“确定”即可。导出文件的存储位置可以在“导入”对话框中找到。
当把Excel工作表转换为DBF文件时,Excel工作表第一行中的文本将作为DBF文件的字段名。转换后的数据类型将决定每一字段(列)的数据类型。如果某个字段的第一行没有数据,则此字段的数据类型将转换为文本,即使该字段下面的行中包含数字,这些数字也将转换为文本。
由于工作表中只有可见的数据才可以被转换,所以在转换之前建议先加宽Excel中的列宽,使所有的数据均可见。
XLS→DBF
打开如图所示的Excel工作表“个人所得税.XLS”,单击“文件→另存为”,在“文件类型”选择框中,选择“DBF 3 (dBASEⅢ) (*.DBF)”,单击“保存”按钮,接下来系统会弹出询问对话框,一路单击“确定”或“是”按钮,最后退出Excel。找到刚转换成的DBF文件,双击它,即可启动FoxPro将它打开。
XLS和DBF文件轻松转换
在实际工作中,各个部门之间经常需要相互配合,比如笔者是一名财务人员,使用Excel计算个人所得税,而劳资部门则使用一套FoxPro编写的软件。于是,两个部门之间的数据交换就成了首先要解决的问题。那么,该怎样实现FoxPro的DBF文件与Excel的XLS文件之间的相互转换呢?
提示:将DBF文件转换为XLS文件还有一个方法,在FoxPro里单击“文件→导出”,在“类型”栏选择Excel版本,然后选择目标地址,最后按“确定”即可。
2016新编EXCEL工作表数据导入到DBF的方法

EXCEL工作表数据导入到DBF的方法操作惯了EXCEL的同行,一定觉得使用VF6.0打开DA TA数据库输入数据很麻烦。
以输入新生入学花名册为例,EXCEL可以实现快速复制、粘贴、排序、筛选、统计等多项功能。
而DBF只能逐一追加新记录。
那么,可否先用EXCEL输机,再把数据导入到DBF呢?答案是:可以!本人实践操作过程如下:1、现有EXCEL表,命名为“HESHI2010XS.XSL”,如下图1图12、将此文件另存为“HESHI2010”,保存类型为:“Microsoft Excel 97- Excel 2003 &5.0/95工作簿。
如图2;图23、运行Microsoft V isual Foxpro。
点“文件”,出现“导入”等下拉窗口,如图3;图图34、点“导入”,出现图4图45、点“来源于”选框后边的“…”按纽,找到“HESHI2010.XSL”,“工作表”选框设为“SHEET1”或者是新生数据所在的工作表。
如图5:图56、点“确定”,即生成“heshi2010.DBF”,找到并打开该文件,就算搞定!如图6图6几点补充:1、为什么上面第二步要“将此文件另存为‘HESHI2010’,保存类型为:‘Microsoft Excel 97-Excel 2003 & 5.0/95工作簿。
’”?因为:VF6.0只能将Microsoft Excel 97- Excel 2003 & 5.0/95工作簿导入!当然,也可以导入Microsoft Excel 5.0/95工作簿。
在对Excel文件进行保存时,一定先点“另存为”,在出现的窗口中,点“保存类型”即可选择以上两种形式的工作簿。
2、导入到VF中以后,要找到导入的文件,请点“显示”,即可找到DBF文件:电力安全月工作总结[电力安全月工作总结]电力安全月工作总结2011年3月1日至3月31日为我公司的安全生产月,**变电站围绕;夯实基储提高素质、树立标杆、争创一流;的主题,开展了丰富多彩、形式多样的具体行动:通过看板形式宣传安全第一、预防为主的方针;通过48+4的学习机会,进行安全生产大讨论;通过安全活动进行查找本站的隐患的活动,电力安全月工作总结。
DB与Excel相互转换的实现方法

DB与Excel相互转换的实现方法在实际工作中,常常需要把某些相关数据导入到DB(数据库)中,以便实现数据的共享与查询,如何利用已有的Excel数据已成为一个棘手问题;另外,由于Excel具有强大的数据处理和数据分析功能,也常需要将DB中的数据导入到Excel中进行相应地统计分析。
本文通过具体实例讨论了DB与Excel 之间实现相互转换的方法。
1 Excel与DB的相互转换软件开发工具为VB,数据库为Access。
VB是微软公司开发的、事件驱动的编程语言,具有强大的数据处理功能。
它提供了对多种数据库的访问方法,可以方便地访问SQL Server、Oracle、Access等数据库。
Access 是微软公司开发的基于Windows的桌面关系数据库管理系统。
它为建立功能完善的数据库管理系统提供了方便。
1.1 DB To Excel实现数据库表中数据自动转存到Excel表中。
例如,已有一文件名“AA.mdb”的Access数据库文件,该数据库中有一名为“番禺区农用地标准样地属性数据表”的数据表,数据表如图1所示。
在VB中,引用“Microsoft ActiveX Data Objects 2.6 Library”和“Microsoft Excel 11.0 Object Library”,即ADO对象和Excel对象。
通过ADO对象访问数据库实现DB到Excel的转换。
程序代码如下:Dim cnn As New ADODB.Connection '数据库连接对象Dim rs As New Recordset '记录集对象Dim VBExcel As Excel.Application '定义一个Excel应用Dim Excelbook As Excel.Workbook '定义一个Excel工作簿Dim ExcelSheet As Excel.Worksheet '定义一个Excel工作表Dim ExcelFilename As String'Excel文件名Dim TableName As String '数据库表名Dim s As StringDim i, j As IntegerDim row As Integer '记录数TableName = "番禺区农用地标准样地属性数据表"Set VBExcel = CreateObject("Excel.Application") '创建Excel对象Set Excelbook = VBExcel.Workbooks().Add '生成工作簿Set ExcelSheet = Excelbook.Worksheets("Sheet1") '生成工作表s = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\AA.mdb" '连接Access cnn.Open s '打开Accessrs.Open "select * from " & TableName, cnn'......统计记录数rs.MoveFirstDo While Not rs.EOFrow = row + 1rs.MoveNextLoopWith Excelbook.ActiveSheet'......Excel表中第1行存放字段名i = 1For j = 1 To rs.Fields.Count.Cells(i, j) = rs.Fields(j - 1).NameNext j'......Excel表中第2行开始存放记录rs.MoveFirstFor i = 1 To rowFor j = 1 To rs.Fields.Count.Cells(i + 1, j) = rs.Fields(j - 1).ValueNext jrs.MoveNextNext iEnd WithVBExcel.Application.Visible = TrueExcelbook.SaveAs App.Path & "\" & TableName '生成的Excel文件名与数据表文件名一致Set VBExcel = NothingSet Excelbook = NothingSet ExcelSheet = Nothing程序运行后,在当前应用所在路径下自动创建名为“番禺区农用地标准样地属性数据表”的Excel文件,实现了将Access数据库相应数据表中的数据自动导入到Excel表中,结果如图2所示。
将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数据库文件允许作为字段名的字符,最好用英文字母)使该栏内的数据的字符长度等于或大于该列数据的最大宽度。
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文件间的数据转换作者:罗正生来源:《电脑知识与技术》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表导入成为dbf表

如何用命令从 excel表导入成为dbf表从一个文件中读入记录,追加到当前表的尾部。
语法APPEND FROM FileName | ?[FIELDS FieldList][FOR lExpression][[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB| WITH CHARACTER Delimiter]| DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK| WK1 | WK3 | WKS | WR1 | WRK | CVS| XLS | XL5 [SHEET cSheetName] | XL8 [SHEET cSheetName]]][AS nCodePage]参数描述FileName指定从哪个文件中读入记录。
如果给出的文件名不包含扩展名,则将文件默认为Visual FoxPro 表,扩展名为 .DBF。
如果文件是 Visual FoxPro 表,无论SET DELETED 为何种设置,表中标记为删除的记录也将添加到当前表中。
?显示打开对话框,从中可以选择从哪个表中读入记录。
FIELDS FieldList指定添加哪些字段数据。
FOR lExpression为当前选定表中每一条 lExpression 为“真”(.T.) 的记录追加新记录,直至达到当前选定表的末尾。
如果省略 FOR,则整个源文件记录都追加到当前表中。
TYPE指定源文件类型。
如果指定的源文件类型不是 Visual FoxPro 表,则必须指定文件类型,但不必包括 TYPE 关键字。
您可以从各种类型文件(包括分隔 ASCII 文本文件)中读入信息添加到表中,在这些文件中可以指定字段分隔符。
如果要追加的源文件扩展名不是默认的扩展名,源文件名必须包括文件扩展名。
例如,Microsoft Excel 工作表通常具有 .XLS 扩展名。
Visual FoxPro与Excel之间的接口

Vi a F x r s l o P o具有 较 强大 的数 据存 储 和加 工 u 能力 , 但是 对于 复 杂 报 表 的 输 出 功 能却 差 强 人 意 .
为 了能够输 出较为 完美 的数 据报 表 , 往往 需要 与其
兼 容性 、 作界 面 、 操 公式 运算 、 图表等 方 面有着 独 到
摘 要 : 用 Vi a o P o语 言 编程软 件 , 决 了 D F表 与 X S表 格 之 间的 互换. 常 , 生名 运 s l xr u F 解 B L 通 学 单都 以 E cl x e 文档 形式 为主 , F x r 在 o P o软件 中不 能直接使 用 , 用 Vi a F x r 采 s l o P o与 E cl u x e 有机
库应 用 程序 开发 人员 强有 力 的工 具. 以上 两种 软件 在各 自的应 用领 域 中均得 到 广泛 的应 用 , 同时 具有
过程中, 处理 速 度 也 就 不 能 令 人 满 意 了. Vi a 把 s l u
Fxr o P o与 E c l 者 有 机 地 结 合 起 来 , 以解 决 xe 两 可
数 据 进 行 分 类 统 计 输 出 时 , 习 惯 地 用 Toa、 都 tl
C u tS m , 者 直 接 在 报 表 工 具 中 处 理 , 这 个 o n、 u 或 在
Viu l o P o是一 种具 有 强大 的数 据处 理能 sa F x r 力及 良好兼 容性 的关 系 型数 据库 管理 系统 , 数据 是
p ob e n d t t ts i sw a o v d w hih a e c nv nintt e s r l m i a a s a i tc s s l e c r o e e o us r . Ke r s:da a c nv r i y wo d t o e son;da a s t ba e;i e f c nt r a e
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有一段时间在从Excel表格数据转换成dbf数据时经常遇到问题,总结了一些经验。
不经意间在Excelhome中看到关于格式转换的话题,发现一些总结是与我一致的,一些是我没有注意到的,转摘整理如下:
1. DBF文件只会保存工作表中命名区域或当前区域中的数据:当以dBASE(DB2、DB3或DB4)格式保存Excel工作表、且该工作表中包含一个名为“Database”的区域时,只有命名区域中的数据会保存到dBASE文件中。
如果区域命名之后又添加了新记录,则必须重新定义包括新记录的“Database”区域后,才能以dBASE格式保存工作表。
如果工作表中并没有名为“Database”的命名区域,那么只有当前区域中的数据会被转换。
如果数据的第一行包含文本,Excel会将它作为标题行来定义字段名(字段名字与不要以数字开头)。
如果第一行中包含的全是数字,则Excel会创建诸如N1、N2之类的字段名。
2. 工作表中字符串长度不超过列宽:以dBASE格式保存Excel工作表数据时,Excel会为每个字段(数据列)指定数据类型,该类型取决于数据库区域或当前区域中第一条记录的字段数据。
如果第一条记录的字段中包含文本,就会将该字段指定为字符数据类型,这样其他行中对应于该字段的任何数字都将变为字符串。
字段的列宽决定了字符串的长度,长度大于列宽的字符串在DBF文件中将被截断。
若要防止数据丢失,请在Excel中选定需要转换的区域,然后使用一种等宽字体,如“Courier” 字体。
3.使用非常规的数字格式:如果Excel工作表中小数具有“常规”数字格式,在DBF文件中小数位将被截掉。
在以dBASE格式保存数据之前,请对该字段中的所有数据应用其他数字格式,方法是:在“格式”菜单上,单击“单元格”,再单击“数字”选项,在“分类”框中,单击“数值”或“科学记数”选项,然后指定所需的小数位数。
4. 将时间数据更改为文本数据:将Excel工作表转换为DBF文件时,不能转换包含时间数据的字段。
在以dBASE格式保存数据之前,请使用TEXT函数将时间数据更改为文本数据。