将EXCEL表格导入DBF数据库的实例

合集下载

2016新编EXCEL工作表数据导入到DBF的方法

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的学习机会,进行安全生产大讨论;通过安全活动进行查找本站的隐患的活动,电力安全月工作总结。

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表格向dbf格式转换方法

Excel表格向dbf格式转换方法

Excel表格向dbf格式转换方法:
excel格式的内容导入foxpro(.dbf格式)时,首先要确保excel 为2003版本,表格中所填内容必须均为文本格式,即数字格的左上角有个绿色的三角标,如,否则导入后会出错;其次,要保证每个单元格内的内容全部显示,如果显示不全,导入dbf时,被遮挡部分内容会丢失;最后,在选择要导入内容时,不能选择全部表格,而要选择导入的内容,如
也就是说所选导入内容为下图
,而不能包含上面的列号和左侧的行号,下图即为错误选择方式
,否则导入后会出现如下错误格式,如
,即字段名在内容里,而字段名位置为字母,这种情况无法与其他正确表格合并。

选择要导入内容,然后点击“文件”中的“另存为”,存为.dbf(建议选择.dbf 4)形式的文件即可,点击“保存”,关闭excel,无论出现何种提示,均选择“是”或“保存”。

foxpro格式导出成Excel表格时,点击“文件”中的“导出”,在类
型中选择计划导出的文件类型,即“excel格式(建议为excel 5.0)”到计划导出的文件名称,如“学生”,注意保存位置,以便查找,之后点击保存即可。

“追加纪录”,选中源目标即可导入。

掌握要领,实现Excel动态链接外部数据库

掌握要领,实现Excel动态链接外部数据库

要编辑查询,则点击$B$2单元格,按右键菜单的“查询 编辑”,如果出现“查询向导”无法编辑此查询的提示, 只要按“确定”即可进入“Microso
ft Query”。 12、$B$3单元格查询条件与$B$2相差的只是学校代码, 可以将$B$2单元格复制到$B$3单位格,再用$B$3的“
编辑查询”来修改,修改一下学校代码的值即可。 (图16) 二、Excel链接SQL数据库 链接SQL数据库与链接vpf大致是相同的。这
择“数据的放置位置”,选择“$B$2”,按“确定”。 (图13) 9、但我们发现显示了标题行,真正的数据却显示到了 $B$3,这时我们需要
修改$B$2单元格的“数据区域属性”。点击$B$2单元格, 按右键菜单的“数据区域属性”,弹出“外部数据区域 属性”窗口,将“数据格式与布局”中
“包含字段名”等前面的对勾去掉,将“数据区域中的 行数随刷新而更改的方式”改成“用新数据覆盖现有单 元格,并清除没有使用的单元格内容”,按“确定
“11201”。 可以通过“显示SQL”来直接修改条件语句,将SQL语句中 px.xxdm="11201"改成right(px.xxdm,5
)="11201",按“确定”。 (图10) 也可以在“条件字段”直接修改。 (图11) 光标放在x16字段,点击“循环总计”,将查
询出的两个值相加,当然也可以直接在SQL语句中修改。 (图12) 8、关闭“Microsoft Query”,弹出“导入数据”对话框, 选
点击菜单“条件”—“增加条件(A)...”,字段“bh”,运算符 “等于”,指定值为“03”,按“添加”。 (图7) 继续“添加条件”对话
框,选择“或”,字段“bh”,运算符“等于”,指定值为 “06”,按“添加”。 (图8) 继续“添加条件”对话框,选择“与”,字段“xxd

在 VFP 中控件 Excel 的小小经验集

在 VFP 中控件 Excel 的小小经验集
.HorizontalAlignment = 3
&&设置3、4行为水平对齐
.VerticalAlignment = 2
&&垂直居中
.NumberFormatLocal = "@"
&&设置3、4行为字符型内容
endwith
ef.Range("A3:A4").Select
ef.Selection.Merge
下列程序均在VFP5.0与EXCEL97中调试通过。因篇幅所限,程序中的错误处理部分略去。
一、EXECL驱动VFP
EXECL内置的VBA语言(Visual Basic For Application)为EXECL功能的扩展提供了便利的手段,用户可使用该语言直接驱动VFP完成数据检索等功能。
程序首先生成一个VFP对象,然后用VFP的DoCmd方法执行VFP摸索命令串,其摸索结果再借助于VFP的DateToClip方法拷贝至剪切板,最后VBA将其粘贴至工作表的正确位置。
Key Words: VFP、EXCEL、OLE、DDE、Cross-Programming
VFP(Visual Foxpro)是一种关系型数据库管理系统,由于其强大的数据处理能力及良好的兼容性,使其成为数据库应用程序开发人员的强有力工具,而EXECL则是一种优秀的电子表格处理软件,在兼容性、操作界面、公式运算、图表等方面有着独到的优势。上述两种软件在各自的应用领域均得到广泛的应用,同时上述两种软件还具有良好的交互编程能力,为两者相辅相成、取长补短奠定了良好的基础。
ef.Selection.Merge
ef.Range("N3").value='录入量'

Excel工作表转换为DBF数据库的注意事项

Excel工作表转换为DBF数据库的注意事项

Excel工作表转换为DBF数据库的注意事项电脑知识2007-11-11 09:24:34 阅读501 评论0 字号:大中小订阅要把具有二维表性质的Excel工作表转换为DBF数据库,在将Excel工作表保存为dBASE格式(DBF文件)时,有以下几点应引起大家的注意,以防止在转换过程中丢失数据。

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格式保存数据之前,请对该字段中的所有数据应用其他数字格式,方法是:在“格式”菜单上,单击“单元格”,再单击“数字”选项,在“分类”框中,单击“数值”或“科学记数”选项,然后指定所需的小数位数。

excel导入epidata的方法

excel导入epidata的方法

把excel数据导入已建好的epidata中的方法如下:
1、数据转换法:先把epidata里的空数据库导出为dbf文件格式,然后用excel打开按照相关字段顺序输入数据,后生成dbf,把数据库导入epidata,然后把两个epidata数据相加,就能很好的导入了。

2、文件替换法。

就是把epidata的文件,用二进制编辑器,如UE等,打开,看一下结构,然后把excel文件存为此格式,并替换原有文件即可。

3、编程录入法。

就是人工编写一个程序,从excel中取数据,然后自动填写到epidata中,vb,vc都可以比较容易的来实现。

方法一的详细说明:
1.将原数据库REC文件导出为Ⅲ
2.用老版本excel或access(2003或以下),或者spss、sas、vfp等有数据库功能的软件打开dbf文件,日期格式默认是欧美格式,dd/mm/yy。

3.将需要导入到REC文件的excel数据复制粘贴到打开的dbf文件中,注意格式变化导致的数据类型或数值的变化。

4.将有数据的DBF文件导入到REC文件中
5.最后一步将新生成的REC数据追加合并到原始REC文件中,最终生成的REC文件与原始一致且包含CHK文件,与原来的一致。

巧将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中取数或转成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表导入成为dbf表

如何用命令从 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 扩展名。

Word、WPS、Excel文档目录导入档案管理系统的方法

Word、WPS、Excel文档目录导入档案管理系统的方法

Word、WPS、Excel文档目录导入档案管理系统的方法档案是历史的真实记录,是人类文明进步的阶梯,是党和国家的宝贵财富。

二00四年七月,云南省档案局提出的《关于实施档案工作“八项工程”,加快云南档案事业发展的意见》为进一步推动我省档案事业的发展指明了方向,明确了今后一定时期内档案工作的重点、任务和目标,把档案馆建设成为集“资政决策、信息传播、文化交流、社会教育和服务”等功能为一体的现代化档案馆。

要求各机关单位在向当地档案部门移交档案的同时必须移交所交档案的机读目录。

然而,绝大多数的机关单位由于种种原因,过去一直没有使用综合档案管理软件,但是又花费了较多的人力物力用Word、Exl、WPS等文字处理软件格式录入了大量的档案案卷级和文件级目录,这些目录是不能作为档案管理软件的机读目录数据直接被调用的。

在使用综合档案管理软件后,如果重新进行目录数据的录入,必将造成更大的人力物力资源的浪费,并且从时间上来说也是几乎不允许的,如何将这些目录批量导入档案管理软件,成为机关档案工作者心头的一大困扰。

结合自己档案工作的经验和对档案管理软件的研究,本文将就如何把用Word、Exl、WPS 等文字处理软件格式录入的档案文本目录导入档案管理软件,成为可以用档案管理软件进行检索等操作的机读目录数据进行探讨,以供广大档案工作者探讨。

以用Word文字处理软件格式录入的目录导入世纪科怡档案管理系统软件为例:第一步:打开文本目录文件《2005年纸文件归档文件目录》,删除文件中的标题、空格、表头等相对冗余的部分。

同一表格中间的空格和回车符必须删除。

全部选择文件(Ctrl+A),然后点击复制(Ctrl+C)。

第二步:将文件保存为纯文本文件。

方法是依次点击开始〉程序〉附件〉记事本,打开记事本程序,点击编辑〉粘贴(Ctrl+V),然后存盘退出记事本程序。

若在Word文字处理软件中点击另存为,在弹出的对话窗口中将保持类型选择为“纯文本”,保存后退出也可以,但是这样必须对此文本文件进行手动处理,相对的工作量要比前一方法大得多。

DBF3.1.0.52导入导出Excel格式

DBF3.1.0.52导入导出Excel格式

二、应用:
(一)打开dbf文件:Open
(二)增加记录(Depend):把光标放到最后一行,单击,在增加的记录里,最少输入一个字段的文字,否则增加的记录无效。

如下图:
(三)删除记录:分两步:第一步是将要删除的记录做标记,第二步是将做了删除的记录彻底删除。

1、将要删除的记录做标记:
1)选中要删除记录的行,然后单击:
2、将做了删除的记录彻底删除:Edit-Pack Table(装表)
弹出确认对话框:
单击:Yes,记录被彻底删除:
(四)dbf文件换名存盘
(五)字段的查询与修改
File-Structure :字段名,字段类型,宽度,小数,零
(六)导出Excel可以识别的类型:【导出Excel】
1)单击:
2)选择”保存类型“
3)输入文件名,等待导出,成功。

【编辑导出的Excel文件】
1、将之前用Excel编辑好的数据复制进来。

这是导出的EXCEL打开后的样子:
2、把数据复制进来,粘贴数值。

3、关键是把数字列全部加‘号,(变文本格式)
保存后,另存为CSV格式:
提示逗号分隔,是,成功保存为SCV格式。

(七)导入SCV格式:
1、单击:
2、选择:刚才保存SCV文件:
这是提示SCV编辑窗口没有关闭,
我们关闭EXCEL,再次导入,这是因为分隔符为分号”;“
我们选择逗号:”,“,在预览窗口中看到要导入的数据完全正确
下一步:
Important:
成功导入!
删除不要的记录。

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

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

最新-excel2019如何保存dbf 精品

最新-excel2019如何保存dbf 精品

excel2019如何保存dbf篇一:工作表数据导入到的方法工作表数据导入到的方法操作惯了的同行,一定觉得使用60打开数据库输入数据很麻烦。

以输入新生入学花名册为例,可以实现快速复制、粘贴、排序、筛选、统计等多项功能。

而只能逐一追加新记录。

那么,可否先用输机,再把数据导入到呢?答案是:可以!本人实践操作过程如下:1、现有表,命名为“2019”,如下图12、图1将此文件另存为“2019”,保存类型为:“97-2019&5095工作簿。

如图2;图23、运行。

点“文件”,出现“导入”等下拉窗口,如图3;图图34、点“导入”,出现图4图45、点“来源于”选框后边的“?”按纽,找到“2019”,“工作表”选框设为“1”或者是新生数据所在的工作表。

如图5:图56、点“确定”,即生成“2019”,找到并打开该文件,就算搞定!如图6图6几点补充:1、为什么上面第二步要“将此文件另存为‘2019’,保存类型为:‘97-2019&5095工作簿。

’”?因为:60只能将97-2019&5095工作簿导入!当然,也可以导入文件进行保存时,一定先点“另存为”,在出现的窗口中,点“保存类型”即可选择以上两种形式的工作簿。

2、导入到中以后,要找到导入的文件,请点“显示”,即可找到文件篇二:转换成文件方法转换成文件方法前提1安装的软件2安装的软件这个两个软软件中都有。

步骤我的操作都是2019下完成的1【新建】一个【数据库】,名称随便定义;2双击打开,进入【创建】面板,然后单击表;3下方就会新建一个【表1】:4右键单击【表1】,选择导入【】;5选择要导入的,选择第一个;6点击浏览,找到要导入的,并确定;7点击【确定】,进入下图;8点击【下一步】,进入下图,选择;9点击【下一步】,进入下图;篇三:如何将转换为如何将转换为,将转为?????|浏览:3505|更新:2019-12-141031?1?2?3?4?5?6?7分步阅读是我们经常使用的,有时需要将电子表格文件转换为格式,也就是转成数据库文件。

DBF文件 与 EXCEL文件转换操作流程

DBF文件 与 EXCEL文件转换操作流程

DBF文件与 EXCEL文件转换操作流程天津市学籍注册软件需要安装能够打开dbf文件的软件,例如:Visual FoxPro 6.0(简称VFP6.0),请大家自行上网下载、安装。

各位老师自行从本校招生办公室要招生录取数据(上报考试院的),要是有dbf文件按照以下操作进行:一、DBF文件转换为 EXCEL文件双击打开招生录取数据的DBF文件后,点击文件——导出,如下图导出后,弹出对话框导出类型选择Excel5.0(XLS)类型,如下图然后点击到的方框后的省略号(…)【见下图1红色方框内】,弹出对话框另存为保存在一栏中选择你要保存导出excel文件的路径(地方)见下图2;在另存为导出一栏中填写你要导出文件的名称见下图3,后点击保存(下图3红框内),即可转换为Excel文件根据数据标准表的格式内容更改相关内容。

图1图2图3二、EXCEL文件转换为DBF文件1.将按照数据标准表做的EXCEL文件(注意做备份)打开,选中所有数据转化成文本格式(单元格—格式—文本—确定)见下图。

2.在每列后边缘鼠标变成双击使每列展开保证每列中的数据完全可以看到(见下图1,展开前;下图2展开后,如学校名称、身份证号全部信息完全可以看到)图1图23.鼠标选取数据表内任意一数据(不可选取数据外的空白单元格)【见下图1是正确的,2是错误的】图1图24.点击文件——另存为(下图1),在弹出对话框另存为——保存位置选择要保存文件的位置,保存类型对话框内选择DBF4(Dbase IV)(*.dbf),文件名对话框填写自己想要的文件名(下图2),点击保存,再弹出的对话框根据提示内容点击确定(下图3)、是(下图4)即可保存为所需dbf文件。

图1图2图35.另存的DBF文件即可用于天津学籍注册软件的应用。

EXCEL转DBF技巧

EXCEL转DBF技巧

中考报名:EXCEL转DBF方法与技巧最近正在忙中考报名,因此久已不用的VFP也再一次拾了起来。

报名软件给的是一个VFP表单界面,需要用户逐项输入学生信息。

人数少还无所谓,像我们动辄数百人,输入工作就显得颇为烦琐,且失误不可避免,后期的核对、修改工作也颇费功夫。

其实,我们有从学籍网中导出的学生信息,基本上要填的东西都有,为什么不直接用这些信息呢?所以每次中考报名,都要在这里下点功夫。

下面,笔者结合自己的亲身经历,谈谈数据从电子表格导入到数据库的方法,希望对大家有所帮助1、基本思路:学籍网中导出的数据是EXCEL文件,而中考报名需要的是DBF 数据表文件。

所以我们需要的是用EXCEL软件把相关数据整理好之后,利用VFP的文件导入功能将XLS文件转换成DBF文件,然后按照报名文件格式进行字段类型、宽度调整,从而得到合格的数据表文件。

2、操作流程:1)打开报名软件,输入一名学生信息,然后保存退出。

目的:得到报名文件的样本bm.dbf,包含数据排列顺序、字段名称、数据类型、字段宽度等,以此作为下一步操作的模板。

2)打开VFP,将bm.dbf导出成bm.xls,保存退出。

目的:得到EXCEL中数据处理的母表,学生报名所有数据都将按该表的顺序、格式进行整理。

3)打开EXCEL,将学生报名所需要的信息复制到bm.xls中。

一般情况下,应该把所有数据都用选择性粘贴的方法,只复制数据,不复制格式。

目的:得到符合报名要求所有数据的XLS文件,该文件将成为数据表文件的基础。

4)在EXCEL 2003中,将bm.xls另存为bm.dbf文件。

目的:获得最初的DBF表文件。

5)在VFP软件中,利用表设计器对bm.dbf进行格式调整,分别修改字段类型、字段宽度,使之符合报名文件的要求。

目的:得到符合报名要求的DBF表文件。

6)将bm.dbf文件复制到报名软件的data文件夹中,打开报名软件,进行索引、检查,确认无误后,开始打印报名信息核对表,数据上报,学生图片采集。

STEP 7如何将 Excel 表格中的变量导入到 DB 块中

STEP 7如何将 Excel 表格中的变量导入到 DB 块中

如何将 Excel 表格中的 STEP 7 变量导入到 DB 块中?说明:如果要将变量从 Excel 导入到 STEP 7 项目中, Excel 文件事先要以“Formatted Text (Space delimited)(*.prn)”的格式保存。

之后此文件作为外部STL 源文件导入到 STEP 7 中所设置的源文件夹中。

详细过程如下:序号步骤1 打开 MS Office Excel ,输入 DB 数据 块的值,如图 01 所示。

一列输入变量名,另外一列输入数据类型:图 012 初始值如果 DB 块不需要赋初值,跳过此步到第三步。

若不是,给变量赋初值(E 列)。

如图 02 所示。

图 023 建议在上述表格中增加如下几列:•在变量名列后增加一列“:”•在数据类型列后增加一列“:=”•还有一列“;”, 如图 02 所示。

在稍后生成 DB 块时,也可以增加这些语法字符。

给变量分配数据类型需要字符“:”,分配初值需要字符串“:=”。

每条指令都必须以字符“;”结束,比如 “Motor_On: bool:= false;”。

4 采用路径 “File > Save as...”, 将 Excel 保存在硬盘上。

保存文件类型为•"Formatted Text (Space delimited)(*.prn)" 文件类型。

因此,文件名应该是 “.prn” 类型。

图 035 点击 OK 确认消息•“The selected file type does not support workbooks with multiple sheets.”.6 点击 Yes 确认消息•“<Filename>.prn may contain features which are no compatible with Formatted Text (Space delimited).Would you like to save the workbook in this format?”.7 选中保存的 Excel 文件,鼠标右键点击,弹出菜单,点击“Rename”,改变文件类型•<Filename>.prn to <Filename>.awl点击 Yes 确认出现的消息。

关于EXCEL与VFP间数据共享方式的研究

关于EXCEL与VFP间数据共享方式的研究

关于EXCEL与VFP间数据共享方式的研究EXCEL电子表格具有简单灵活、功能强大等优点,因此受到了广泛的使用,其图表制作能力突出;VFP作为常用的界面编辑和数据处理软件,提供了亲和度较高的操作方式,在数据管理方面也呈现出稳定高效的优点。

文章着眼于这两种常用的优秀软件,分析其数据格式的特点,并探讨两种软件之间数据共享与传输的可能性,具有一定的现实意义。

标签:EXCEL;VFP;数据传输目前Office办公软件已经得到了广泛的应用,而其中的EXCEL软件作为制表专用软件,由于其便捷的操作界面,强大的图标编辑功能和数据处理功能更是得到了绝大多数用户的青睐,已经成为了该类型软件中的代表作;与此同时,大多数桌面型数据库系统采用的是Visual Foxpro(VFP)软件作为其数据库平台来进行开发和设计,对于研发人员而言,VFP是相对简单的开发工具,但是对于大多数使用者而言则稍显困难,尤其是在数据处理分析和图表制作的过程中,不少用户反映对于VFP的操作方式不熟悉,很难掌握,而对于EXCEL则能够轻松驾驭,因此,文章从几个方面研究了这两种常用的办公软件的数据库系统之间的数据通信与转换问题,具有明显的现实意义。

1 最迅速便捷地由VFP数据表转换成EXCEL表(1)进入VFP系统操作使用VFP系统软件打开现存的VFP表;(2)在“显示”菜单中,选择“浏览”项,已浏览的模式打开数据库表;(3)在“文件”菜单中,讲打开的该表另存为HTML,即将该表保存成网页形式;(4)Excel支持打开网页文件,可在刚才的文件上单击右键,选择使用EXCEL打开,或者先打开EXCEL,“文件”菜单下选择打开刚才保存的文件;(5)如果发现文件格式或内容需要修改,则可在EXCEL下进行调整,完成后将该文件保存成EXCEl文档格式即可。

该方法可针对大多数数据格式进行兩种软件之间的转换,如数值型、文本型等,但对于通用型的数据,该方法则不适用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for Row := 1 to DBGrid.DataSource.DataSet.RecordCount do
begin
ExcelWorksheet.Cells.Item[Row + 1, Col].value := trim(DBGrid.Fields[Col - 1].AsString);
DBGrid.DataSource.DataSet.Next;
type
TForm1 = class(TForm)
Button1: TButton;
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
end;
DBGrid.DataSource.DataSet.First;
end;
ExcelApplication.Visible[lcid] := True;
ExcelApplication.ScreenUpdating[lcid] := true;
DBGrid.DataSource.DataSet.EnableControls;
execsql;
j:=j+1;
end;
oe.visible:=false;
showmessage('导入完毕');
end;
except
oe.visible:=false;
showmessage('数据库错误或有重复编号,请检查');
end;
end;
回复人:gg1335回复时间:2004-8-20 9:05:00
vNumberFormat: string;
begin
result := false;
if DBGrid.DataSource = nil then
exit;
if DBGrid.DataSource.DataSet = nil then
exit;
if DBGrid.DataSource.DataSet.IsEmpty then
DBGrid.DataSource.DataSet.DisableControls;
//导入报头
for Col := 1 to DBGrid.Columns.Count do
ExcelWorksheet.Cells.Item[1, Col].value := DBGrid.Columns[Col - 1].Title.caption;
exit;
try
ExcelApplication.Disconnect;
except
end;
try
try
lcid := 1; //GetUserDefaultLCID;
ExcelApplication.ScreenUpdating[lcid] := false;
ExcelApplication.ConnectKind := ckNewInstance;
begin
result := '0.00';
Exit;
end;
if FindExcelFormatStr(s) then
begin
result := '@';
Exit;
end;
result := '';
end;
function TForm1.FindExcelFormatStr(s: string): Boolean; //找字符格式
if DBGrid.Fields[Col - 1].DataSize < 200 then
ExcelWorksheet.Range[RowFirst, ColEnd].ColumnWidth := DBGrid.Fields[Col - 1].DataSize
else
ExcelWorksheet.Range[RowFirst + '1', ColEnd].ColumnWidth := 21;
var
i: integer;
begin
Result := False;
for i := 0 to ExcelFormatStr.Count - 1 do
begin
if Pos(ExcelFormatStr[i], s) > 0 then
begin
Result := True;
Exit;
end;
end;
result := true;
finally
screen.Cursor := crDefault;
end;
end;
function TForm1.ConvertIntToCharacters(IntNumber: Integer): string;
begin
if IntNumber < 1 then
下面的代码是导出为EXCEL
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Db, DBTables, StdCtrls, Excel97, OleServer, ComObj, ActiveX;
private
{ Private declarations }
public
{ Public declarations }
ExcelFormatNum: TStrings; //ExcelFormatNum
ExcelFormatStr: TStrings; //ExcelFormatStr
function ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不显示EXCEL
end;
function TForm1.FindExcelFormatNum(s: string): Boolean; //找数字格式
var
i: integer;
begin
function ExportDataToExcelV(SheetName: string; DBGrid: TDBGrid; ExcelApplication: TExcelApplication;
ExcelWorkbook: TExcelWorkbook; ExcelWorksheet: TExcelWorksheet): boolean; //显示EXCEL
//导入库数据
DBGrid.DataSource.DataSet.First;
for Col := 1 to DBGrid.Columns.Count do
begin
RowFirst := ConvertIntToCharacters(Col) + '1';
ColEnd := ConvertIntToCharacters(Col) + inttostr(DBGrid.DataSource.DataSet.RecordCount + 1);
oe.visible:=true;
oe.workbooks.open(FileListBox1.FileName);
j:=2; //假定标题在第一行
try
with adoQuery1 do
begin
n1:='insert into tablename(fieldslist) values(:fieldslist)';
Result := 'A'
else
begin
if IntNumber > 702 then
Result := 'ZZ'
else
begin
if IntNumber > 26 then
begin
if (IntNumber mod 26) = 0 then
Result := Chr(64 + (IntNumber div 26) - 1)
vNumberFormat := GetNumberFormat(DBGrid.Columns[Col - 1].Title.Caption);
if vNumberFormat <> '' then
ExcelWorksheet.Range[RowFirst, ColEnd].NumberFormat := vNumberFormat;
function FindExcelFormatNum(s: string): Boolean; //找数字格式
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TForm1.ExportDataToExcelV(SheetName: string; : TDBGrid; ExcelApplication: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
else
Result := Chr(64 + (IntNumber div 26));
相关文档
最新文档