JavaScript API for Excel中缺少方法:复制工作表

由于无法取消加载项所做的更改,因此我们需要为用户提供备份选项.

当前版本的JavaScript API for Excel没有复制工作表及其数据和格式的方法.

有没有人知道添加此类方法的任何变通办法或计划?

最佳答案 目前确实没有简单的方法来复制工作表,因此可以随意在 Office Extensibility Platform’s UserVoice上请求它.虽然这样的API可能会在未来发布,但您可以在此期间使用
worksheetCollection.add()添加新的工作表,获取使用的工作表范围使用
worksheet.getUsedRange()方法并将其值复制到另一个工作表.

您的代码看起来像这样:

function duplicateSheet(worksheetName) {
    Excel.run(function(ctx) {
        var worksheet = ctx.workbook.worksheets.getItem(worksheetName);
        var range = worksheet.getUsedRange();
        range.load("values", "address");

        var newWorksheet = ctx.workbook.worksheets.add(worksheetName + " - Backup");
        return ctx.sync().then(function() {
            var newAddress = range.address.substring(range.address.indexof("!") + 1);
            newWorksheet.getRange(newAddress).values = range.values;              
        }).then(ctx.sync);
    });
}

让我知道这对你有什么影响.

Gabriel Royer – MSFT Office扩展团队的开发人员

点赞