问题:
问题:数据的导入与导出(DBF.TXT) ( 积分:100, 回复:7, 阅读:203 ) 分类: 分类:数据库-C/S 型 ( 版主:qince, luyear ) 来自: 时间: 来自:coolfun, 时间:2003-3-18 10:48:00, ID:1690568 : [显示:小字体 | 大字体]
程序中用的数据库是 ACCESS。现在我要实现数据的导入与导出,导入.导出的格式为
DBF 或者是 TXT。请大家帮忙。
来自: 时间: 来自:brown0432, 时间:2003-3-18 10:59:00, ID:1690611 : 作个接口。 。然后一条一条导出。存成什么就无所谓了
导入一样。 。
来自: 时间: 来自:geshicheng, 时间:2003-3-18 11:05:00, ID:1690647 : odbc 中有配置 txt 接口,剩下不就简单了
来自: 时间: 来自:Yhhe, 时间:2003-3-18 11:05:00, ID:1690651 : batchmove 控件本身就支持
来自: 时间: 来自:zqs10597249, 时间:2003-3-18 11:19:00, ID:1690710 : 给你个例子 { 功能说明:导出数据,调用前先判断数据集为空,不进行导出 参数说明: I_Sql 注意传入的 Sql 要注意用到索引.传入用做查询条件的 Sql } //导出数据,FuncExportData('构成统计','构成统计',Dbgrid1); Function FuncExportData(pFileName:String;pReportTitle:String; pObjectSource:TObject;I_Sql :string;I_Query :TADOQUERY;
I_XMLDocument :TXMLDocument=nil; I_XmlFileTile :string='';I_XmlRecTile :string=''):Boolean;
Function FuncExportData(pFileName:String;pReportTitle:String; pObjectSource:TObject;I_Sql :string;I_Query :TADOQUERY; I_XMLDocument :TXMLDocument=nil; I_XmlFileTile :string='';I_XmlRecTile :string=''):Boolean; Var ExcelSaveDialog:TSaveDialog; eclApp,WorkBook:Variant; xlsFileName:String; ColNumber,RowNumber:Integer; V_Msg:String; OutDir :string; OutFileName :TFileName; tmpfieldname : string; i :integer; stringlist :tstringlist; MemoStr,LFormatStr:string; //导出为 XML 文件 aNode, aValueNode: IXMLNode; wStr: widestring; begin Result :=false; try //建立 TSaveDialog 构件 Application.CreateForm(TSaveDialog,ExcelSaveDialog); //初始化保存文件盒的过滤器 ExcelSaveDialog.Filter:=
'XML 文件|*.xml|Microsoft Excel 工作簿|*.xls|文本文件格式|*.txt'; //初始化保存文件盒的文件名 ExcelSaveDialog.FileName:=pFileName;
//判断如果没有填写文件名或单击保存文件取消,则退出该函数。 If Not ExcelSaveDialog.Execute Then Exit;
case ExcelSaveDialog.FilterIndex of 1:begin//xml if I_XMLDocument=nil then begin ExcelSaveDialog.free; ExcelSaveDialog :=nil; exit; end; //判断填写的文件是否带扩展名,如果没有扩展名,系统自动增加扩展名 //填写的文件名未带扩展名,系统自动增加扩展名 If Pos('.xml',LowerCase(ExcelSaveDialog.FileName))=0 Then xlsFileName:=ExcelSaveDialog.FileName+'.
xml' Else //填写的文件名自带扩展名,则系统不自动增加扩展名。 xlsFileName:=ExcelSaveDialog.FileName;
//判断文件是否存在,如果文件存在,则
提示用户是否复盖。 If FileExists(xlsFileName) Then Begin V_Msg:=xlsFileName+'已经存在,'; //提示用户是否复盖原来文件,如果不复盖则退出该函数。
If MessageDlg(V_Msg+#13+'确认要替换文件吗?',mtInformation, [mbYes,mbNo], 0)=mrNo then begin ExcelSaveDialog.free; ExcelSaveDialog :=nil; Exit; end Else //删除文件,如果失败,则提示错误信息并退出该函数。 If Not DeleteFile(xlsFileName) Then begin MessageDlg('不能正确操作该文件'+#13+ '可能是该文件已被其他程序打开, 或系统错误' ,mtInformation, [mbYes], 0); ExcelSaveDialog.free; ExcelSaveDialog :=nil; exit; en