我有一个任务窗格加载项,该加载项允许将数据提取到工作表中的表中(我正在将值加载到表范围内的范围内)。但是,只要我得到的数据少于上一次提取的数据,表就不会收缩以适应新的数据集。
有什么方法可以使用Office js API调整表的大小?还是其他选择?
干杯!
--------编辑--------
简而言之,这是我正在使用的代码。作为documentation suggests,首先我将数据添加到一个范围,然后为该范围创建一个表://Step 1: load data
await Excel.run(async (ctx) => {
const sheet = ctx.workbook.worksheets.getActiveWorksheet();
sheet.getRange(dataRangeAdress).values = data;
await ctx.sync
});
//create table
await Excel.run(async (ctx) => {
const sheet = ctx.workbook.worksheets.getActiveWorksheet();
const table = sheet.tables.add(dataRangeAdress, true);
await ctx.sync
});
当我更新时,首先我删除以前的数据范围,如下所示:
const dRange = sheet.getRange(dataRangeAdress);
dRange.clear("Contents");
然后我重复步骤1以加载新数据。我之所以不使用table.getDataBodyRange()
来更新表,是因为有时我需要处理大量数据(〜15000行),而随着documentations suggests的出现,我将拆分为较小的子集并加载按照每个步骤1所述。
当我获得的数据多于上一次获取的数据时,表将相应地增长,但是当数据量减少时则不会收缩。