Powershell脚本-打开Excel,更新外部数据,另存为

4 excel powershell odbc pivot

有谁能帮我这个脚本。

$file = 'C:\Scripts\Spreadsheet.xlsx'
$x1 = New-Object -ComObject "Excel.Application"
$x1.Visible = $false
$enddate = (Get-Date).tostring("dd-MM-yy")
$filename = 'C:\Scripts\Spreadsheet ' + $enddate + '.xlsx'
$wb = $x1.workbooks.Open($file)
$wb.refreshall
$wb.SaveAs($filename)
$wb.Close()
$x1.Quit()
Remove-Variable wb,x1
Run Code Online (Sandbox Code Playgroud)

该工作簿将打开,并通过ODBC连接使用外部数据更新其数据透视表。当您手动打开工作簿时,它会刷新。使用脚本打开它时,它只是打开而不会刷新数据。

我尝试了以下方法:

  • 选中复选框“始终使用连接文件”
  • 在Excel中保存数据源的密码
  • 禁用“启用后台刷新”和所有其他刷新选项
  • 创建一个宏以在工作簿打开时自动刷新数据源

任何帮助,将不胜感激,谢谢!