如何从脚本(PS)更新excel文件的连接字符串

时间:2011-11-10 09:12:28

标签: excel powershell connection-string

我们有一个excel文件,其中包含与数据库的连接以检索数据(使用select语句)。

我们希望通过(最好的PowerShell)脚本更新该文件的连接字符串,以使其查询另一台服务器。

例如:     我有report.xlsx文件连接到服务器A.     我运行update-connection.ps1     当我打开report.xlsx时,它现在连接到服务器B.

知道我们该怎么做吗?

感谢。

3 个答案:

答案 0 :(得分:1)

如果您决定(允许)将连接(服务器名称)存储在工作表中,那么应该相当容易。您的VBA代码可以根据单元格的值动态构建连接字符串。 (我可能会创建一个命名范围并在代码中使用它。)

我不知道PowerShell,但代码看起来像:

$workbook.Range("Server").Value2 = "PROD_01"

如果您愿意,可以隐藏工作表,但这不是一个严重的安全措施。

答案 1 :(得分:0)

您可以尝试通过PowerShell自动化Excel,如本文所述:http://kentfinkle.com/PowershellAndExcel.aspx

如果您不想自动化Excel,那么您可以尝试在PowerShell脚本中使用类似ClosedXML的内容:http://closedxml.codeplex.com/

答案 2 :(得分:-1)

您可以使用System.Data.Common.DbConnectionStringBuilder解析connectionstring。检查这个SO线程:

Powershell regex for connectionStrings?