У меня есть надстройка панели задач, которая позволяет извлекать данные в таблицу на листе (я загружаю значения в диапазон в пределах диапазона таблицы).Но всякий раз, когда я получаю меньше данных, чем предыдущая выборка, таблица не сжимается, чтобы соответствовать новому набору данных.
Есть ли способ изменить размер таблицы с помощью Office js API?Или другая альтернатива?
Ура!
-------- Редактировать --------
В двух словах, это код, который я использую.Поскольку документация предлагает , сначала я добавляю данные в диапазон, а затем создаю таблицу для этого диапазона:
//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 строк), и, как показывает документация , я разбиваю на более мелкие подмножества изагрузка, как описано в шаге 1 для каждого.
Когда я получаю больше данных, чем предыдущая выборка, таблица соответственно увеличивается, но когда она меньше, не сжимается.