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

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));
合集下载

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中的方法如下:
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成绩报表图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的代码

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)中一个优秀的电子表格处理软件,具有强大的制表功能,在操作界面、公式运算、图表等方面有着独到的优势,为广大办公应用人员所熟悉和使用,正是由于他们功能间存在的差异,两种软件产生的数据常常需要进行转换,以达到方便、高效处理数据的目的。

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