使用办公加载项清除 Excel 2013 中的工作表

Clear a sheet in Excel 2013 with office add-ins

本文关键字:2013 工作 Excel 清除 加载项      更新时间:2023-09-26

我有一个生成报告(表)的办公外接程序。用户第二次运行它时,我想清除该工作表。

我一直在尝试并通读了文档,但我找不到一种方法来做到这一点。

有没有人找到解决这样的事情的解决方案?

使用sheet.getRange().clear()方法。

例:

Excel.run(function (ctx) {
    var sheet = ctx.workbook.worksheets.getActiveWorksheet();
    sheet.getRange().clear();
    return ctx.sync();
}).catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});

~ Michael Zlatkovsky,MSFTOffice扩展性团队的开发人员

我知道

这是一个旧帖子,但您可以使用以下函数清除Excel 2013上的生成报告表。

    DeleteTableDataOnExcel2013(tableID, callback) {
        Office.context.document.goToByIdAsync(tableID, Office.GoToType.Binding, function (asyncResult) {
            Office.context.document.bindings.getByIdAsync(tableID, function (getByIdAsyncResult) {
                if (getByIdAsyncResult.status === Office.AsyncResultStatus.Succeeded) {
                    const binding = getByIdAsyncResult.value;
                    binding.clearFormatsAsync();
                    binding.setFormatsAsync({ cellFormat: { cells: { row: Office.Table.Headers }, format: { backgroundColor: '#FFFFFF', fontColor: '#000000', fontFamily: 'Verdana', fontSize: 12, wrapping: true, fontStyle: 'normal', width: 8.43, height: 15 } } }, function (formatResult) {
                        binding.deleteAllDataValuesAsync();
                        Office.context.document.bindings.releaseByIdAsync(tableID, function (releaseAsyncResult) {
                            callback();
                        });
                    });
                } else {
                    callback();
                }
            });
        });
    }