performance - Excel:使用外部链接可以提高性能吗?

标签 performance excel external-links

我想知道使用外部链接与打开电子表格和复制单元格(使用 VBA)相比是否有性能提升。

我想 Excel 必须以同样的方式打开文件,但是当我使用以下代码进行测试时,外部链接会更快:

Dim t As Double
Dim rng As Range

For Each rng In shtId.Range("A1:A5")
    t = Now
    ThisWorkbook.Names("rngID").RefersToRange = rng
    ThisWorkbook.UpdateLink "H:\manualData.xlsx", xlExcelLinks
    Debug.Print "link: " & Format(Now - t, "######.0000000")

    t = Now
    Workbooks.Open "H:\manualData.xlsx", readonly:=True
    ActiveWorkbook.Close False
    Debug.Print "open: " & Format(Now - t, "######.0000000")
Next


Results:

link: .0000116
open: .0000231
link: .0000116
open: .0000347
link: .0000000
open: .0000347
link: .0000000
open: .0000347
link: .0000000
open: .0000347

该工作簿具有一系列单元格,其中查找公式键入 ID 字段。这些公式有外部链接。为了测试它,我更改了 ID 并强制更新。为了测试文件打开方法,我只是打开和关闭源文件。

我正在寻求加快由于网络带宽低而出现问题的进程。我已经探索了各种选项,只是想了解这是否有效。我搜索了这个主题,有些人说外部链接可能会导致性能问题,而有些人则不然。我想更好地了解外部链接背后的机制,以便了解实现时的预期。

有什么想法吗?

最佳答案

这是更多的工作,但是从/向 XML 文件读取/写入数据(使用 MSXML)将解决性能问题。这是我在某些带宽较低的情况下被迫采用的路线。

VBA 检索数据和运行计算的速度比使用多个链接要快得多。视情况而定;您可以在工作簿打开事件甚至特定更改事件(组合框等)上执行此操作,因为您只使用 kB 数据。

关于performance - Excel:使用外部链接可以提高性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752947/

相关文章:

ios - 如何在iOS中打开外部链接?

java - 链接给出了来自代码的无效响应代码,但来自浏览器的有效响应代码

c - 加速循环执行 unsigned long long 模运算的性能

performance - 添加位 mod n 的最简单方法?

php - 使用 curl 在 PHP 中获取 HTTP 代码

excel - 自动筛选值包含星号 (*)

java - 如何在 apache poi 中正确评估这个公式?

performance - "SELECT COUNT(column)"比 "SELECT COUNT(*)"快/慢吗?

excel - 如何在excel中添加月份日期

html - 自动在新窗口中打开每个外部链接(html、css)