Je travaille sur un complément Excel à l'aide de l'API Office JS. Je rencontre un problème lors de la mise à jour des valeurs d'un type de liaison de "plage" lorsqu'un objet de table a été inséré dans les limites de la plage. Par exemple, j'ai une liaison sur A1: C3, et une table a été insérée dans l'interface utilisateur Excel en utilisant. Insert -> Table
à B2: C3 avec My table has headers
vérifié. L'utilisation de la fonction ci-dessous pour mettre à jour les valeurs brutes de cette plage semble supprimer l'objet table.Office Excel JS - Valeurs de plage de modification de l'objet table
Alternativement, Si la plage de liaison est plus petite, l'objet table, c.-à-d. liaison à l'intérieur des limites de l'objet de la table, la table et le formatage reste.
var bindingId = "123";
var newValue = [["123","123","123"], ["123","123","123"], ["123","123","123"]];
return Excel.run(function (ctx) {
var binding = ctx.workbook.bindings.getItem(bindingId);
var range = binding.getRange().load('values, address');
return ctx.sync().then(function() {
range.values = newValue;
return ctx.sync();
});
});