微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用powershell在excel中更改现有OLEDB连接的属性?

如何解决如何使用powershell在excel中更改现有OLEDB连接的属性?

我有一个 excel (connection.xlsx),它使用 OLEDB 连接从 Old.csv 导入数据。

连接字符串在excel中如下所示: 连接字符串:Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Old;Extended Properties="" 连接文本:SELECT * FROM [旧]

我想使用 powershell 以编程方式更改此连接字符串以从其他 excel 文件 New.csv 加载数据

连接字符串:Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=New;Extended Properties="" 连接文本:SELECT * FROM [New]

我正在尝试这样:

clear
# Powershell Code
$xlsx = "C:\Users\umashankar.jedgule\Desktop\Terracon\BnMPOC\Connection.xlsx"
$Excel = New-Object -comobject Excel.Application
$ExcelWorkbook = $Excel.workbooks.open($xlsx) 
$conn = $ExcelWorkbook.Connections
echo $conn
$i=1 
foreach($con in $conn)
{
$con.OLEDBConnection.Connection = 'OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=New;Extended Properties=""'
$con.OLEDBConnection.CommandText = 'SELECT * FROM [New]'
$flag=$con.OLEDBConnection.BackgroundQuery
$con.OLEDBConnection.BackgroundQuery=$false
$con.refresh()
$con.OLEDBConnection.BackgroundQuery=$flag
echo $con.OLEDBConnection.Connection
echo $con.OLEDBConnection.CommandTex
echo $test
$i = $i + 1
 }
$ExcelWorkbook.refreshall()
$ExcelWorkbook.Save()
$ExcelWorkbook.Close()
$ExcelWorkbook.Quit()

但是提示没有继续前进。我不确定上面的代码是否正确。请提出建议。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。