4

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

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

有谁知道添加这种方法的任何解决方法或计划?

4

1 回答 1

2

目前确实没有简单的方法来复制工作表,因此请随时在Office 可扩展性平台的 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 - Microsoft Office 可扩展性团队的开发人员

于 2015-11-19T03:54:05.467 回答