gpt4 book ai didi

excel-dna - 加快Excel-DNA中xl公式插入公式的速度

转载 作者:行者123 更新时间:2023-12-02 17:48:41 26 4
gpt4 key购买 nike

我正在使用 Excel-DNA 将公式插入大约 40k 行 * 10 列,而且速度非常慢。

 XlCall.Excel(XlCall.xlcFormula, myFormula, new ExcelReference(row, row, column, column));

我设法通过暂时禁用更新时重新计算单元格来显着改进它 (XlCall.Excel(XlCall.xlcCalculation, 3);),但理想情况下我想找到一种方法来放置在一次操作中将一整列公式转换为 excel(我假设这会提高速度)。

我尝试在调用 xlcFormula 时传递一个 object[,]:

 XlCall.Excel(XlCall.xlcFormula, excelFormulas, new ExcelReference(1, lastRow, columnNumber, columnNumber));

但它将所有公式放入一个字段中(以分号分隔)。有没有办法做我想做的事情,或者我是在浪费时间做一些不可能的事情?

最佳答案

我也遇到了这个麻烦,想出了另一种加速公式插入的方法。试试这个代码:

var formula = "=1+2";
var reference = new ExcelReference(rowFirst, rowLast, columnFirst, columnLast); // it's а rectangular area, just split up your huge area to smaler ones here
XlCall.Excel(XlCall.xlcFormulaFill, new object[] { formula, reference } ));

当您想将相同的公式插入到很多单元格中时,此代码非常有用。尽量在公式中使用相对引用。

以前的解决方案也有效:

XlCall.Excel(XlCall.xlcEcho, false)

...但不要忘记不时启用回显。

关于excel-dna - 加快Excel-DNA中xl公式插入公式的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com