繁体   English   中英

如何使用 vb.net 将表从 Access DB 导入 Excel

[英]How to import Table from Access DB into Excel using vb.net

所以我试图将特定表从 Access 导入到 Excel 工作表中。

我试图录制一个宏以查看它是如何工作的,但由于我已经知道如何使用 txt 文件来完成它,我认为它可能是相似的,但我无法让它工作。 我尝试了很多东西,还在谷歌上找到了一些答案,说将连接和记录集变暗为Dim cnn As ADODB.Connection等等,但它在 VB.Net 中不起作用。

也许是愚蠢的,但我对此知之甚少。 这是我的代码。

    Dim ws As Worksheet
    Dim file As String

    ws = Globals.ThisAddIn.Application.ActiveSheet
    file = "C:/Downloads/db.accdb"
    
    With ws.QueryTables.Add("OLEDB;" & file, ws.Range("A1"), "SELECT * FROM [TableName]")
            .Name = "Source Data Table"
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = XlCellInsertionMode.xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .Refresh(False)
    End With

我真的不明白QueryTables.Add()的连接是如何工作的,而且我总是在.Refresh(False)处收到错误所以..我正在尝试我能想象的一切,同时也在寻找宏记录器但不能还是明白的。

似乎错误是这部分:`

ws.QueryTables.Add("OLEDB;" & file, ws.Range("A1"), "SELECT * FROM [TableName]")

它应该是这样的:

ws.QueryTables.Add("OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & file, ws.Range("A1"), "SELECT * FROM [TableName]")

之后,数据就成功添加到Excel中了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM