【问题标题】:office.js replace Word table ooxml embeds the table into a new tableoffice.js 替换 Word 表 ooxml 将表嵌入到新表中
【发布时间】:2022-08-04 01:56:23
【问题描述】:

我有一个 Word 表格行,其中一些单元格被添加了书签。我想用类似但修改过的书签克隆行。从我读过的内容来看,我想使用 ooXml 来实现这一点 - 我看不到如何返回行或单元格的范围。

当试图用修改后的 ooXml 替换表 ooXml 时,它会将表嵌入到似乎是一个新表中。

我在下面有一个简单的版本,我只需检索 ooXml 并将其插入回来,就会出现同样的问题:

Word.run(async context => {

  let tblRange = context.document.body.tables.getFirst().getRange();
  let tblXml = tblRange.getOoxml();

  await context.sync();

  tblRange.insertOoxml(tblXml.value, \'Replace\');

  await context.sync();

});

这个:

变成:

这是一个错误还是我做错了什么?

    标签: office-js


    【解决方案1】:

    在替换之前显式删除范围似乎可以解决问题:

    Word.run(async context => {
    
      let tblRange = context.document.body.tables.getFirst().getRange();
      let tblXml = tblRange.getOoxml();
    
      await context.sync();
    
      tblRange.delete();   // <-- Added this line
      tblRange.insertOoxml(tblXml.value, 'Replace');
    
      await context.sync();
    
    });
    

    【讨论】:

    • 很高兴看到你自己解封了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多