gpt4 book ai didi

excel - 为什么使用 office.js 在 excel 范围内粘贴数据需要太长时间?

转载 作者:行者123 更新时间:2023-12-04 20:49:15 25 4
gpt4 key购买 nike

我们正在制作一个有 15 张纸的 excel 工作簿(大小约为 13 MB)。我们将数据粘贴在一张纸上,而所有其他纸上都有适量的公式链接到此数据转储表。我们需要粘贴大约。 10,000 行和 30 列,每次 2500 行。我们在每 4 次迭代后(即粘贴 10,000 行后)使用 context.sync() 同步工作簿的上下文。这整个过程大约需要。总共70秒。
我们尝试在每 2500 行粘贴一次后使用 context.sync() ,但这会进一步减慢进程。

await Excel.run(async function main(context) {
var totalrowcount = result.totalrows;
iterations = Math.ceil(totalrowcount / 2500);
for (i = 1; i <= iterations; i++) {
let names = context.workbook.names;
var rng;
data_arr = result.data;
data_arr.splice(0, 1);

var rowOffset = (i - 1) * 2500;
rng = names.getItem(rangeName).getRange().getOffsetRange(1 + rowOffset, 3);
rng.getAbsoluteResizedRange(data_arr.length, data_arr[0].length).values = data_arr;
rng.untrack();

if(i % 4 == 0){
await context.sync();
}
else if(i == iterations){
await context.sync();
}
}});

最佳答案

您是否还尝试添加 suspendScreenUpdatingUntilNextSync 暂停对 Excel 的可视化更新,直到加载项调用 context.sync(),或直到 Excel.run 结束(隐式调用 context.sync),如 https://docs.microsoft.com/en-us/office/dev/add-ins/excel/performance ?由于我们无法在本地重现该问题,因此如果您可以共享 session ID 让我们查看详细日志,这将有所帮助。谢谢。

关于excel - 为什么使用 office.js 在 excel 范围内粘贴数据需要太长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68069166/

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