问题标签 [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 回答
2942 浏览

excel - Excel 2007/2010/2016 - 从 Web 获取外部数据 - “脚本中发生错误”并且通常会崩溃

多年来,我一直通过 Excel 的 Get External Data->From Web 功能从某些网站下载数据。在运行各种 Windows 操作系统的各种 PC 和笔记本电脑上的 Excel 2007、2010、2016 中,一致的一件事是难以置信的不可靠性。我总是遇到多个“此页面上的脚本中发生错误”错误(我单击是),而且它经常挂起,我必须在任务管理器中终止 Excel。

例如,如果我访问 www.ft.com,我会在第 1 行收到 3 条“脚本中发生错误”消息。然后单击登录,我会收到另外两条错误消息。然后我完全无法在电子邮件地址字段中输入登录。我必须终止 Excel 才能退出。多年来,我设法以某种方式克服了这种令人难以置信的不可靠性,但现在我走到了死胡同。

我在大多数网站上都有类似的行为。例如 www.morningstar.co.uk。

Excel 似乎使用不同版本的 IE 进行查询。因此,我无法使用 IE11 或 Edge 登录,然后使用该登录名直接进入 ft.com 上我想要访问的相关数据页面。我必须通过 Excel 登录 FT.com

非常令人沮丧。有任何想法吗?

0 投票
1 回答
255 浏览

excel - 从 ODBC 导入时抑制消息“正在获取数据...”?

在 Excel 2007 中,当通过 SQL/ODBC 导入数据时,它会在导入范围的左上角单元格中显示消息“正在获取数据”。无论查询是从 GUI 还是从 VBA 运行,都会发生这种情况。

这个消息可以被压制..??? 在 GUI 或 WorkbookConnection、ODBCConnection、ListObject 或 QueryTable 的 VBA 对象属性中似乎没有任何设置。

我想创建带有动画的自定义“请稍候”消息,但“获取数据”消息会产生视觉冲突。

我尝试了以下方法,但它没有抑制消息:

ExternalData_1:获取数据...

在此处输入图像描述

0 投票
1 回答
104 浏览

excel - 如何将查询的数据与 excel 中的输入数据进行比较,然后在条件格式规则中使用该比较?

我公司提供包装服务,因此我们的订单由我们的 CSR 整理并发送到仓库。我们有一个检查到位,所以没有任何东西从裂缝中掉下来,但它需要有人亲自打印一份报告,然后在调度办公室找到所有东西。

本质上,我需要将一列查询数据与不同选项卡中的一列输入数据进行比较,然后使用规则突出显示查询选项卡上输入数据列包含查询单元格的行中的所有单元格。

我现在正在使用的方法是一个 Excel 表,将这些信息导入到表“数据”中,然后 CSR 将在表“输入”上输入他们的订单号。

在“输入”表上,我有三列:A 列用于原始输入,B包含公式的=NOT(ISNA(VLOOKUP($C2,$A$2:$A$300,1,FALSE)))C,以及包含公式的列='Data'!$B2B是包含我需要的数据的列)。

然后,我比较C使用Acolumns B,然后我在工作表“数据”上的规则是='Input'!$B2=TRUE

问题是“A”和“C”在应该是平等的时候却没有被认为是平等的。但是,当我转到工作表“数据”并双击单元格以便我可以编辑它,然后按 Enter 键时,“A”确实识别“C”,“B”变为 TRUE,并且规则将格式应用于相关行。这里发生了什么,我怎样才能让'A'自动识别'C'?

0 投票
0 回答
25 浏览

excel - 文本到列工具正在中断我的条件格式

我有一个通过查询提取的数据范围,然后我使用数据范围比较来突出显示数据。例如,如果我在工作表“A”中提取我的数据,并在工作表“B”中输入我自己的数据,我正在检查工作表“A”上的哪些数据也在工作表“B”上。这实际上是通过工作表“B”中的列比较来完成的,但这并不相关。为了进行这种比较,我必须选择工作表“A”上的列,并使用“文本到列”工具对数据进行分隔以便进行比较。问题的症结在于,当这种情况发生时,或者当我刷新查询时,条件格式的规则和范围都会发生变化,并会创建一个新规则。

我尝试将受影响的范围设置为静态值,例如=$A$1:$L$500,但刷新查询后,范围更改为$A$1:$L$88. 这是一个问题,因为我需要查看的范围实际上是$A$1:$L$89,并且调整后的范围总是比需要的短一个单元格。此外,还会创建一个新的格式规则。在我原来的规则中,条件是='B'!$B2=TRUE. 在这个我没有创建的新规则中,条件是='B'!$B110=TRUE,受影响的范围是= $A$89:$L$500

不幸的是,这不是这个问题结束的地方。我之前提到,为了成功比较我需要的数据,我必须使用工作表“A”上的“文本到列”工具。这做了两件事:它创建了一个条件='B'!$B110=TRUE超过 range的新规则=$A$89:$L$129,它编辑了之前创建的规则,将条件更改为='B'$B111=TRUE,范围更改为=$A$130:$L$540

我真的不确定如何解决这个问题,如果需要,我会提供更多细节。综上所述,规则 A 存在于工作表 A 上,当工作表 A 刷新时,规则 A 的范围发生变化,规则 B 被创建。然后,当使用 Text to Columns 时,规则 B 的条件和范围都发生了变化,并创建了规则 C。

0 投票
0 回答
66 浏览

excel - 使用工作表中的单元格值作为 SQL 参数的一部分

我使用参数化查询(其中 IDVALUE=?)使用 MS Excel 从 Oracle 数据库中检索数据。这对我输入参数值(数字)有用。但是对于单元格 A1 中的文本/字符串作为 ID,我尝试了以下操作:

  • 在单元格 A1 中输入带/不带单引号的“ABC123”
  • 使用公式 =CHAR(39)&A1&CHAR(39)

它们都不起作用。

之前通读过,还是找不到成功 如何在Excel中使用列作为参数使用参数化查询?

欢迎您的想法/建议。

0 投票
1 回答
265 浏览

excel - 引用外部表时强制 Excel 保留工作表名称

有没有办法强制excel自动“重写”外部引用的地址?

例子

当我将鼠标悬停并选择另一个工作簿中的表作为源时,公式栏显示:

一旦我按下回车键,公式栏就会显示:

括号和工作表名称被删除,[#Data] 被添加。

我确认 excel 通过使用间接和强制 excel 使用完整参考来理解带有工作表名称的地址

所以它不是excel的限制。然而,这仅证明了 excel 可以处理这种参考风格。问题是,当您使用间接时,您实际上并没有创建到源文件的“链接”,如果源文件关闭,您的工作簿将永远不会要求更新值。


我需要强制 excel 将表名保留在参考中,因为我将上传到 OneDrive 并共同创作工作簿。当您引用另一个工作簿中的表并且该工作簿已关闭时,引用将更改为包括您的 OneDrive 的网址,如下所示

我相信这会导致错误,阻止 excel 更新值。当我第一次打开包含链接的工作簿时,它会尝试更新到最新数据。当我使用常规范围时,它没有问题。当我使用表格时,我得到“我们现在无法更新您工作簿中的某些链接”。如果你去编辑链接,它看起来像这样: 编辑链接 在此处输入图像描述

如果您尝试更新值,则会显示此信息,请注意它正在寻找工作表,但它所期望的名称实际上是工作簿的名称。 选择工作表

在此处输入图像描述

我相信这是因为当你引用一个范围时,地址是这样写的:

注意感叹号的位置有区别!观点。我相信这就是为什么 excel 将工作簿名称显示为工作表正在寻找的原因。再次,如果您使用间接,您可以强制 excel 使用“长”地址,所以我们知道 excel 可以毫无问题地识别它。

真的希望找到解决方案,在此先感谢!

0 投票
0 回答
314 浏览

excel - 具有外部数据连接的另存为模板

我一直在寻找这个问题的答案将近一个小时,但没有运气。我有一个 Excel 启用宏的模板,该模板将模板另存为新名称(仍为 .xltm),但不幸的是,这个新文件已损坏,因为我的模板包含外部数据连接,并且我Application.DisplayAlerts = False在保存时用来绕过任何提示。我不希望用户必须处理提示,但是当保存带有外部数据连接的模板文件时,会出现提示,说明“此工作簿包含外部数据。您是否希望 Microsoft Excel 在保存模板之前清除数据,然后每当打开模板时自动刷新数据?” 带有是、否和取消按钮。我需要的是选择否,以便用户看不到此提示,并且模板在没有该功能的情况下保存。

注意:如果我只是将其保留Application.DisplayAlerts为 False,则在打开新模板文件时会收到一条错误消息,指出文件已损坏,因为该外部数据提示从未得到解决。根本不是我想看到的。

代码示例:



0 投票
1 回答
50 浏览

excel - VLOOKUP Excel 为我的老板返回 #N/A,但不是为我

我的任务是接管一些统计数据,以便在我的公司进行管理。这些统计数据被放置在管理人员和我都可以访问的服务器上。我们正在根据放置在同一服务器上的其他报告生成月度报告。

问题来了:这些值是根据 VLOOKUP 公式自动生成的,它只是检查其他文件中的数据是否具有特定值。打开报表时,会提示您是否要更新外部链接。对我来说,无论我选择什么,我都没有得到 #N/A 值。然而,当我的老板试图打开同一份报告时,无论他选择什么(更新链接与否),他总是在单元格上得到#N/A。

由于我签署的合同,我无法向您展示任何代码,但是,我可以告诉您我尝试过的内容:

  • 起初,我以为我的老板(不知何故)失去了对外部文件的一些权限。但事实并非如此,我们测试了每个文件,他可以访问所有文件,在某些情况下甚至被标记为管理员。
  • 其次,我检查了当月的报告和两个月前的报告(这对他有用,这里没有#N/A)并检查了所有的公式。这里也没有运气,除了外部文件名发生变化外,所有公式都相同(我在电子表格比较的帮助下完成了这一步)。
  • 第三,我认为可能一些宏会在后台运行(即使这没有意义,因为这些是 .xlsx 文件)。这里也没有运气,工作簿的任何工作表中都没有编写 VBA 代码。

我没有任何想法。他拥有所有权限,甚至比我拥有更多权限,一份工作正常的旧报告与这个卡住的报告没有区别,并且没有运行宏。有任何想法吗?

编辑:我可以给你一个公式样本,但会用假路径替换实际路径,因为我无法显示这个正确的代码:

此外,我还可以在此处添加下面询问的详细信息:

  • 我和我老板的语言设置和日期时间格式是一样的
  • 两个 excel 文件具有相同的版本,包括相同的显示语言
  • 外部文件的映射对我们双方来说都是一样的,因为它们在服务器上,并且我们都有服务器“O”的驱动器号