更改Excel“外部数据”连接字符串

问题描述 投票:8回答:1

我们目前在Excel 2003中使用数据透视表进行报告。这些数据透视表使用内置的“导入外部数据” Excel功能来从SQL中提供报告(准确地说是SQL Server 2008)。

这些报告目前指向我们的英国数据库,但是我们现在想复制指向我们新的美国数据库(与英国数据库具有相同架构的每个报告)的副本。

而不是费力地浏览近100个电子表格,我希望可以有很多COM自动化,可以用来更改每个电子表格中的连接字符串。

有人知道从COM更改外部数据源连接字符串的方法吗?

我正在使用.Net(特别是C#),但是无论语言或方法(不一定是COM),我都将感谢您的帮助。

c# .net com excel-2003
1个回答
13
投票
重要的是,根据创建工作表的方式,将连接字符串保存在两个位置之一中。

    如果使用过数据透视表向导,则连接字符串将存储在由Workbook.PivotCaches()函数(PivotCache对象返回的Workbook.PivotCaches()属性包含连接字符串)。
  1. 如果您使用了“导入外部数据”,则连接字符串将为存储在由Connection属性(QueryTable对象返回的Worksheet.QueryTables属性包含连接字符串)。

  • 可能还有更多可以存储Connection字符串的地方,这是到目前为止我所知道的仅有的两个地方。如果您知道更多信息,请在评论中保留一些信息,我将添加到答案中。

    这是一个经过很好注释的完整工作的C#示例,可以帮助遇到此问题的其他任何人:

    Worksheet.QueryTables

  • © www.soinside.com 2019 - 2024. All rights reserved.