Google表格-用于仅将表格导出为具有值和格式的表格的按钮-不适用于公式

时间:2020-02-28 21:40:02

标签: google-apps-script google-sheets

我有一个包含数十张图纸的Google表格文件。 在其中之一中,我需要创建一个按钮或一个链接,以将特定工作表中的内容导出为xls格式,仅包含值和格式,而不包含公式。我该如何使用Google Script做到这一点?

我要做的最好的事情是创建一个进入File > Publish to the web的宏,创建一个“网络文件”,并将其链接写入工作表中。我对宏应用了快捷方式,因此即使不是按钮,也还是有效的。但是,我需要将名为“结果”的工作表下载到Excel,因此此Web文件解决方案无法解决该问题。

1 个答案:

答案 0 :(得分:1)

好。这是一项微不足道的任务。

假设您需要从ID为“ ABSD1234”的书中导出“ COUNTIF”张纸

function runSheet() {
  var spec = ['COUNTIF'];

  var spreadsheet = SpreadsheetApp.openById(
    'ABSD1234'
  ).copy('tmp');

  spec.forEach(function(sheetName) {
    var dr = spreadsheet.getSheetByName(sheetName).getDataRange();
    dr.setValues(dr.getValues());
  });
  spreadsheet.getSheets().forEach(function(sheet) {
    if (spec.indexOf(sheet.getName()) < 0) spreadsheet.deleteSheet(sheet);
  });
  var spreadsheetId = spreadsheet.getId();
  var file = exportSpreadsheetToFile_(spreadsheetId, 'xlsx');
  DriveApp.getFileById(spreadsheetId).setTrashed(true);
  return file;
}

您可以从the snippet获得exportSpreadsheetToFile_

此后,您将在驱动器上获取文件,并在file中对其进行引用。