视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
导出EXCEL/FOXPRO/PRODOX格式表
2020-11-09 08:11:17 责编:小采
文档


一般是在access或是SQLSERVER中查寻,或是汇总,然后生成一个‘记录集’可以显示在GRID里,也可以将这个记录集 导出 到磁盘中。 下面可以 导出 Xls,DBF,DB,MDB(表),这些功能是由ISAM数据库接口实现,为了 导出 各种版本的文件,我在MS网站下载了最新的JET4

一般是在access或是SQLSERVER中查寻,或是汇总,然后生成一个‘记录集’可以显示在GRID里,也可以将这个记录集导出到磁盘中。  

  下面可以导出Xls,DBF,DB,MDB(表),这些功能是由ISAM数据库接口实现,为了导出各种版本的文件,我在MS网站下载了最新的JET4和MDAC6。前者到用于桌面数据库如ACCESS,FOXPRO的组件,后者是实现新版本ADO组件。分别在:

  http://download.microsoft.com/download/access2000/SP/4.0/NT5/EN-US/Jet40SP5_W2K.exe
  http://download.microsoft.com/download/dasdk/install/2.60.6526.3/WIN98Me/CN/mdac_typ.exe

  这些是标准的SQL导出语句:

  select*into[office/9.shtml'target='_blank'class='article'>Excel8.0;database=导出目录].导出表名from表

  select*into[FoxPro2.6;database=导出目录].导出表名from表

  select*into[FoxPro2.5;database=同上].导出表名from表

  select*into[dBaseIII;database=同上].导出表名from表

  select*into[Paradox4.X;database=同上].导出表名from表

  select*into[;database=C:\temp\xxx.mdb].导出表名from表

  下面程序为实现用户自定议文件名用变量代替一部分。

  http://go.163.com/~chunpeng/project/export.jpg

  http://go.163.com/~chunpeng/project/Export.zip点这里下载原程序文件。  

  '请先引用ADODB类库。

  DimExport_Str,mdbTableAsString

  DimrsExportAsNewADODB.Recordset

  DimconnAsNewADODB.Connection

  PrivateSubClose_cmd_Click()

  UnloadMe

  EndSub

  

  PrivateSubEXport_cmd_Click()

  DimmyPath,myStrAsString,myPosAsInteger

  '******************处理选择的各种表的导出

  WithDialog1

  IfmyOption(2).ValueThen

  .FilterIndex=1

  .ShowSave

  myStr=StrReverse(.FileName)'串取反

  myPos=InStr(myStr,"\")'在反字符串中,找从左开始第一个\的位置

  OnErrorGoTomyError'防FILENAME为空,MID出错

  myPath=StrReverse(Mid(myStr,myPos))'取目录部分,并还原.

  myStr=StrReverse(Left(myStr,myPos-1))'取文件名

  Export_Str="select*into[dBaseIII;database="&myPath&"]."&myStr&"fromCustomers"

  .DefaultExt="*.DBF"
  

  ElseIfmyOption(3).ValueThen

  mdbTable=InputBox("请给导出到MDB文件的表确定表名")

  .FilterIndex=2

  .ShowSave

  Export_Str="select*into[;database="&.FileName&"]."&mdbTable&"fromCustomers"

  .DefaultExt="*.MDB" 

  ElseIfmyOption(4).ValueThen

  .FilterIndex=3

  .ShowSave

  Export_Str="select*into[Excel8.0;database="&.FileName&"].CustomersfromCustomers"

  .DefaultExt="*.XLS"  

  ElseIfmyOption(5).ValueThen

  .FilterIndex=4

  .ShowSave

  myStr=StrReverse(.FileName)'串取反

  myPos=InStr(myStr,"\")'在反字符串中,找从左开始第一个\的位置

  OnErrorGoTomyError'防FILENAME为空,MID出错

  myPath=StrReverse(Mid(myStr,myPos))'取目录部分,并还原.

  myStr=StrReverse(Left(myStr,myPos-1))'取文件名

  Export_Str="select*into[Paradox4.X;database="&myPath&"]."&myStr&"fromCustomers"

  .DefaultExt="*.DB"

  EndIf

  EndWith
  

  '*****生成文件

  Debug.PrintExport_Str

  IfrsExport.State=1Then

  rsExport.Close

  EndIf 

  IfDir(Dialog1.FileName)<>""Then

  OnErrorGoTomyError'防用户没选文件

  IfDialog1.FilterIndex<>2Then

  Kill(Dialog1.FileName)

  EndIf

  rsExport.OpenExport_Str,conn,adOpenStatic,adLockOptimistic

  Else

  rsExport.OpenExport_Str,conn,adOpenStatic,adLockOptimistic

  EndIf

  myError:

  ExitSub

  EndSub  

  PrivateSubForm_Load()

  '联接数据库并打开记录集

  conn.CursorLocation=adUseServer

  conn.Open"PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource=" App.Path "\NWind.mdb;"

  rsExport.Open"select*fromCustomers",conn,adOpenStatic,adLockOptimistic

  SetGrid1.DataSource=rsExport

  '初始化对话筐

  WithDialog1

  .Filter="FoxBase/FoxPro(*.DBF) *.DBF Access8.0(*.MDB) *.MDB Excel8.0(*.XLS) *.XLS Paradox4.x(*.DB) *.DB"

  .DialogTitle="导出文件为"

  .CancelError=False

  EndWith

  EndSub

->

下载本文
显示全文
专题