2017-09-20 1 views
1

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(); 

    }); 

}); 

Répondre