问题标签 [excel-external-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1124 浏览

sql - 如果参数为空,Excel SQL 外部数据返回所有结果

早上好,

我正在使用 SQL 连接到 Excel 中的外部数据源来检索记录。当我为我定义的参数指定一个值时,返回数据很好。

我想要实现的是,如果参数(链接到单元格)为空白/空,则返回所有记录。

我不太确定如何说明这一点,但参数在 SQL 的 WHERE 子句中,例如WHERE (Specialty.SpecialtyCODE = ?)

问候迪诺

0 投票
1 回答
427 浏览

excel - 将数据透视表源数据更改为最新数据文件

我想让我在 excel 中的数据透视表在打开时或在后台自动更新为以 csv 格式存储在文件夹中的最新版本的数据。

csv 文件具有相同的列并遵循相同的命名约定 csvFile_ddmmyy 替换日期。他们每天都在运行。我希望 excel 将数据透视表源数据更新为最新的日期数据。

最好这将自动完成,但我也可以在某个单元格中输入日期,并使用一些宏来获取该日期并将其放入连接字符串中。

如果您可以提出任何解决此问题的方法,我将不胜感激。

0 投票
0 回答
1015 浏览

excel - Excel 外部数据连接在其他用户上崩溃

我有一个 tool.xlsx 文件,它使用外部数据连接到 Access DB(两者都在网络驱动器上,可供具有适当访问权限的用户使用)。我有一个刷新该工作簿中所有连接的 vbscript(下面的代码)。当我运行这个脚本时,一切都像魅力一样工作,但是当同事运行它时,它不会抛出任何错误,但并非所有连接都被刷新。有任何想法吗?

这是来自该 tool.xlsx 工作簿的连接字符串:

这是一次刷新每个连接的不同方法:

0 投票
1 回答
2831 浏览

vba - 使用来自 Web 的数据,如何登录?

我有一个使用“来自 Web 的数据”功能的宏。我已经登录了要从中提取数据的网站(在 Internet Explorer 中) - 但我在 Excel 中得到的结果只是一直告诉我我没有登录。

是否有通过 Excel 登录“来自 Web 的数据”的特殊方法?我知道它有效,因为我使用宏记录器来了解 Excel 如何获取数据 - 并且手动执行此操作,网站要求我登录“Excel IE 浏览器窗口”......但已经一个多小时了,所以我被注销。如何重新登录才能使用它?

如果有帮助,这是适用的数据提取代码(登录后 URL 工作正常):

0 投票
1 回答
4939 浏览

excel - 更改与外部数据源的连接

我有一个 Excel 2013 文件,它显示来自外部 DB2 数据库的数据。DB2 数据库已移动,我想更改连接信息以指向数据库的新 IP。

如何在 Excel 中执行此操作?

目前,我能找到的唯一方法是创建一个新连接并添加它正在调用的所有视图,而不仅仅是编辑 IP 地址。

0 投票
2 回答
6605 浏览

excel - 使用现有连接从外部源添加新表

我有一个 Excel 2013 工作簿,在其中创建了多个选项卡,每个选项卡显示来自外部数据库的不同视图的结果。

我通过单击 DATA->OTHER DATA SOURCES 来完成此操作,然后在其中设置连接并选择我想在工作簿中看到的所有不同视图。一旦我选择了视图,结果就会自动填充到工作表的新选项卡中。

现在,我想使用相同的连接在工作簿中添加另一个视图作为选项卡,但无法找到如何执行此操作,目前我唯一能做到的方法是使用不同的连接添加表。

我怎样才能做到这一点?

0 投票
2 回答
36 浏览

sql - 使用 as 命令创建了 4 列,现在需要添加所有 4 列

我正在使用 sql 将一个相当复杂的数据库引用到 excel 中。有一个表,每个实例有 4 行,我已经设法在我的 excel 表中的同一实例上使用以下方法使它们成为 4 列:

Max( case when(table1.column1 = 'a') Then table1.column2 Else 0 End) as [A],

Max( case when(table1.column1 = 'b') Then table1.column2 Else 0 End) as [B],

Max( case when(table1.column1 = 'c') Then table1.column2 Else 0 End) as [C],

Max( case when(table1.column1 = 'd') Then table1.column2 Else 0 End) as [D]

在代码的 SELECT 部分。

现在我需要将所有 4 个已创建列的值添加到我可以引用的第 5 列中,但我一直遇到问题。我最初只是尝试了 Total = 'A' + 'B' + 'C' + 'D' 但这只是给了我一个每行都带有“ABCD”的文本列,而不是在列中添加值。我已经验证了创建列中的值是数字。

我基本上是在寻找一种方法来使用在其他列中使用 AS 命令创建的列名作为公式的一部分。

0 投票
1 回答
33 浏览

sorting - 尝试查询 SQL 数据库并需要将列转换为在 excel 中排序

在任何人大喊大叫之前,是的,我知道在我引用的数据库中存储为 varchars 的数字是愚蠢的,但我对此无能为力。基本上,我有一列主要是存储为 varchar 的整数,但是在将整列转换为稍后可以正确排序的某种数字形式时,我需要保留一些带小数的值。如果我只是按原样选择数据,它的排序如下: 1, 10, 11, 12, 13, 2, 2.1, 3 我需要它是 1, 2, 2.1, 3, 10, 11, 12, 13 但是我需要保持 2 和 2.1 或 2.01 之间的区别。小数点前后不应该有超过 2 位的数字。我试过 Convert(Decimal, column1) AS 'Column_Name' 但这使得所有 2.1 都变成了 2,所以有 1、2、2、3 等。想法?

0 投票
1 回答
58 浏览

vba - 在 Excel 中跨来自外部数据源的两个表运行宏的性能问题

在工作表上,我有两个表,它们是从两个不同的外部源填充的,一个来自 db2,另一个来自 SQL 服务器。刷新表中的数据后,我触发一个宏,该宏运行 VBA 代码,循环遍历两个表中的单元格并应用业务规则。

在本地测试它按预期工作,宏在几秒钟内完成。当我将连接更改为指向网络上的 db2 和 SQL 服务器数据库时,它会及时刷新数据,但是当我触发宏时,它需要大约 30分钟完成。仅更改了连接,并且我对所有测试都使用相同的工作簿。

首先想到的是它现在正在从网络中提取数据并且它可能是连接性的,但是它刷新数据正常并且它只是运行缓慢的宏并且VBA代码不使用连接并且只是一个基本的for循环。

我不知道是什么原因造成的,想知道是否有人以前遇到过这种行为并且知道我该如何解决?

0 投票
1 回答
1225 浏览

excel - Excel - 纳斯达克股息历史(从 Web 获取外部数据)

我想从纳斯达克的网站创建一个可刷新的股息历史查询,这里是苹果的 URL ( http://www.nasdaq.com/symbol/aapl/dividend-history )

当我尝试运行 Excel 的本机“新 Web 查询”时,股息历史表似乎不是一个可选选项。将此信息提取到电子表格中的最佳方法是什么?

如果可能的话,如果可以参考某个单元格中的代码运行查询,那也将非常有帮助。

任何意见,将不胜感激。

编辑:我正在专门寻找股息及其公告日期,只能在纳斯达克网站上找到这些信息。如果有一个更适合 excel 的替代方案,那也会有所帮助。