使用大量 Excel 内容 - 预设依赖链

Working with huge Excel content - presetting dependency chain

我正在尝试构建大型 excel 解决方案。 Excel 文件 (200MB xlsb) 有一个 sheet 300,000 行 X 100 列,包含具有长链依赖关系的公式。

已纳入大多数 Excel 性能提示。没有一个 volatile 函数。没有数组公式。消除了前向引用(单元格公式始终仅引用同一行左侧 and/or sheet 前面的前行 and/or 单元格,按字母顺序排列,无外部链接)。 我在 2.2GHz 4GB 系统上使用 64 位 Excel 2013,已禁用自动保存(大文件),禁用多线程(单依赖链)。对于那些想知道的人,使用优化的 VBA 代码创建了 3000 万个 excel 代码的公式。

文件需要几分钟才能打开。智能重新计算 (F9) 在小的变化上效果很好 <1s。使用 (Ctrl+Alt+F9) 的完整计算需要 30 秒。使用 (Shft+Ctrl+Alt+F9) 的完整计算重建需要 3 分钟来构建依赖性和计算序列(注意到光标忙),计算需要 30 秒(状态栏显示正在计算)。文件关闭 with/without 保存时间比文件打开时间长。删除所有这些公式需要很长时间(>1 小时后取消)。 AutoFilter 非常慢(文件无响应)。许多其他操作变得缓慢。

  1. 我们能否告诉 Excel 不要费心识别依赖树并按照从左到右从上到下的字母顺序工作 sheets。
  2. 鉴于计算速度已经优化,是否有其他方法可以提高 excel 操作的响应率,例如自动筛选、insert/delete row/col 等

要复制:Range("B2:CW300001").formula="=A2+len(F1)"

任何指导都会很有帮助。

我终于发现,是的,可以通过在 excel 文件的 xml 中自行创建 calcChain.xml 来预编程依赖链。但是,如果 excel 文件在链中创建了向后依赖,或者调用了 Ctrl+Alt+Shift+F9,Excel 将自动修改它。 http://phincampbell.com/Improving%20Excel's%20Calculation%20Performance%20using%20Calculation%20Chain%20and%20Dependency%20Tree%20Data%20from%20calcTree.xml.html