vb.net 更新 Excel 文件

vb.net updates Excel file

我有一个 Excel 文件,它在打开时会自动更新。 “更新”是指 Excel 文件正在下载存储在服务器列表中的数据。

为了始终使用最新的数据库版本,我的 vb.net 应用程序打开 Excel 文件一次,保存并再次关闭。我认为这将更新我的 Excel 文件,以便服务器上包含的所有数据都存储在 Excel 文件中。遗憾的是,这不起作用。我错过了什么吗?

我的代码是:

    Dim xls As New Excel.Application
    Dim xlwb As Excel.Workbook
    xlwb = xls.Workbooks.Open(ExcelFilePath)
    xlwb.Save()
    xlwb.Close()

如果您只想在工作簿打开时从服务器检索数据,为什么不使用此处所述的 open 事件:Microsoft documentation

然后就可以下载数据了,不需要关闭excel文件。您可以立即使用您的数据。

Sub ThisWorkbook_Open() Handles Me.Open
    'Download your data here.
End Sub

我找到了问题的解决方案:首先,我不得不取消选中 Excel-file 中的框,即数据在后台更新。其次,我将代码更改为:

    Dim xls As New Excel.Application
    Dim xlwb As Excel.Workbook
    xlwb = xls.Workbooks.Open(ExcelFilePath)
    xlwb.RefreshAll()
    xlwb.Save()
    xlwb.Close()

然后 Excel sheet 在我的 vb.net 应用程序启动时更新。