为了给您提供一些上下文,我正在尝试检索选定范围内每个单元格的 width
和 height
属性。为此,我使用 Office Javascript API,到目前为止,我能想到的唯一方法是循环遍历所选范围内的每个单元格并检索每个单元格的所述属性。
假设 selectedRange
是用户的选择并且已预先加载适当的属性,这就是我所拥有的:
for (let r = 0; r < selectedRange.rowCount; r++) {
console.log(selectedRange.getRow(r).height);
for (let c = 0; c < selectedRange.columnCount; c++) {
console.log(selectedRange.getColumn(c).width);
}
}
但是,问题是每列和行的 width
和 height
属性未加载,如果我错了,请纠正我,但他们必须被加载到每列和行的循环内。这反过来意味着在循环内调用 context.sync()
相当多次,根据官方文档,这是一个非常糟糕的主意。
那么,是否有另一种方法可以做到这一点,而不需要频繁调用 context.sync()
?
我对 Office Js 还很陌生,因此非常感谢任何帮助。谢谢大家!
最佳答案
是的。有一种方法可以做到这一点,而无需在循环内调用 context.sync 。您需要使用分割循环模式。有关详细信息和示例,请参阅Avoid using the context.sync method in loops以及它链接到的堆栈答案。
关于javascript - 获取选定范围内每个单元格的宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61367469/