国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

用ACCESS的視圖導(dǎo)數(shù)據(jù)到EXCEL

瀏覽:193日期:2022-08-13 17:11:12

從ACCESS中導(dǎo)數(shù)據(jù)到EXCEL高效的方法,借鑒了網(wǎng)上的一種導(dǎo)表的方法,嘗試了下用視圖也是可以的:

但這種方法有缺陷的地方是可能彈出兩個(gè)對(duì)話(huà)框,一個(gè)是在access有密碼的情況下,彈出讓輸入密碼的對(duì)話(huà)框。另一個(gè)是安全對(duì)話(huà)框,這個(gè)要改變access的宏安全級(jí)別到低才不彈出。

改變宏安全級(jí)別可以在access中手工設(shè)置,用程序設(shè)置的要修改注冊(cè)表

感覺(jué)都不是很好解決辦法,但偶也沒(méi)有想出更好的辦法。

在假設(shè)已經(jīng)設(shè)置了宏安全級(jí)別的情況下,導(dǎo)出實(shí)現(xiàn)修正如下:

view plaincopy to clipboardprint?Access.ApplicationClass oAccess = new Access.ApplicationClass();oAccess.Visible = false;// 沒(méi)有密碼,可以設(shè)置成空string sDBPassword = "MyPassword"//database passwordDAO._DBEngine oDBEngine = oAccess.DBEngine;DAO.Database oDB = oDBEngine.OpenDatabase("c:mydb.mdb",false, false, ";PWD=" + sDBPassword);oAccess.OpenCurrentDatabase("d:test.mdb",false,"");oDB.Close();System.Runtime.InteropServices.Marshal.ReleaseComObject(oDB);oDB = null;System.Runtime.InteropServices.Marshal.ReleaseComObject(oDBEngine);oDBEngine = null;oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,Access.AcSpreadSheetType.acSpreadsheetTypeExcel9,"testview", "d:testexport.xls", true, null, null)Access.ApplicationClass oAccess = new Access.ApplicationClass();oAccess.Visible = false;// 沒(méi)有密碼,可以設(shè)置成空string sDBPassword = "MyPassword"//database passwordDAO._DBEngine oDBEngine = oAccess.DBEngine;DAO.Database oDB = oDBEngine.OpenDatabase("c:mydb.mdb",false, false, ";PWD=" + sDBPassword);oAccess.OpenCurrentDatabase("d:test.mdb",false,"");oDB.Close();System.Runtime.InteropServices.Marshal.ReleaseComObject(oDB);oDB = null;System.Runtime.InteropServices.Marshal.ReleaseComObject(oDBEngine);oDBEngine = null;oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,Access.AcSpreadSheetType.acSpreadsheetTypeExcel9,"testview", "d:testexport.xls", true, null, null);

當(dāng)然,要用access組件,要把a(bǔ)ccess的COM組件引用到工程里,

我一般習(xí)慣的做法是先把COM引用添加上去,編譯一下,引用的程序集包容器就出現(xiàn)在bin下了,

然后把這個(gè)dll文件備份一下,工程里可以把COM引用去掉,直接引用這幾個(gè)dll就行了,

這樣整個(gè)工程文件可以任意拷貝到其他機(jī)器上。

這種方法導(dǎo)access效率的確是比較快的,畢竟是交給window OS來(lái)做的

但應(yīng)用局限性還是比較明顯的,我推薦用OLEDB 連接access查詢(xún),在結(jié)合

http://blog.csdn.net/linaren/archive/2009/10/28/4736637.aspx

這個(gè)上面的方法,是不錯(cuò)的選擇,效率稍顯慢些,但靈活性比較大。

標(biāo)簽: excel
相關(guān)文章:
主站蜘蛛池模板: 韩城市| 漳浦县| 和平县| 宜都市| 大关县| 江口县| 金堂县| 资溪县| 临海市| 和龙市| 关岭| 建瓯市| 读书| 富宁县| 昆山市| 抚远县| 微山县| 大埔县| 耿马| 肃宁县| 且末县| 琼结县| 集安市| 通榆县| 太白县| 南昌市| 化州市| 上林县| 庄浪县| 井冈山市| 新沂市| 黔西县| 宣恩县| 威信县| 旬阳县| 陇川县| 剑阁县| 大冶市| 嫩江县| 若羌县| 普陀区|