Office js API - изменение размера таблицы Excel - PullRequest
0 голосов
/ 01 марта 2019

У меня есть надстройка панели задач, которая позволяет извлекать данные в таблицу на листе (я загружаю значения в диапазон в пределах диапазона таблицы).Но всякий раз, когда я получаю меньше данных, чем предыдущая выборка, таблица не сжимается, чтобы соответствовать новому набору данных.

Есть ли способ изменить размер таблицы с помощью 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 для каждого.

Когда я получаю больше данных, чем предыдущая выборка, таблица соответственно увеличивается, но когда она меньше, не сжимается.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...