由于无法取消加载项所做的更改,因此我们需要为用户提供备份选项.
当前版本的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扩展团队的开发人员