快速的数据导入导出

看过很多介绍数据导入导出的例子,结果都速度方面很令人失望
 
有导入DataTable/DataSet,然后逐行导入SQL/ACCESS的  有使用BCP导入的  不知道为什么  就是没有介绍用ACCESS来导入导出的(当然 也可能碰巧我搜索到的都不是)
 
难道大家都没有发现   ACCESS在导入导出方面其实很优秀吗?
 
 
好了 废话不多说   一方面为了给自己今后使用留个备份   一方面也为和我一样需要这个功能的朋友分享一下小小心得  
 
我就直接给核心代码了   很简单
 
首先 添加引用Microsoft Access 11.0 Object Library
 
ACCESS 2003有宏安全性级别这个设置,要是你的安全级别设置的不是低,很可能出现一个打开的确认对话框
 
 '获取当前ACCESS宏安全性级别
           Dim keyValue As String
            keyValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security", "Level", "1")
            '将ACCESS宏安全性级别设为1(最低)
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security", "Level", "1", Microsoft.Win32.RegistryValueKind.DWord)
            Dim accApp As New Access.Application
            Try
                accApp.Visible = False
                accApp.OpenCurrentDatabase("ACCESS数据库路径,比如E:\A1.MDB")
                accApp.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport, Access.AcSpreadSheetType.acSpreadsheetTypeExcel4, "ACCESS数据库中的某个表", "要导出到的EXCEL文件路径",True)   '最后一个True表示,Excel文件要不要第一行的列标题
            Catch ex As Exception
                Throw
            Finally
                accApp.Quit()
                '将ACCESS宏安全性级别改为原值
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security", "Level", keyValue, Microsoft.Win32.RegistryValueKind.DWord)
            End Try
 
 
 
以上是利用ACCESS把数据直接导出到EXCEL的用法   大家可以自己做很多其他的功能
配合ACCESS的导入导出规格   可以真正实现极速的从文件文件到数据库的导入功能  
 
 
ACCESS的导入导出功能很强大,值得大家好好发掘一下~~
 
鄙陋之见,请多多指正

你可能感兴趣的:(职场,数据导出,Access,数据导入,休闲)