Google电子表格:一次下载所有表格

Ily*_*man 7 google-sheets

使用谷歌电子表格时,如何一次下载所有工作表?

我想使用以下选项:

逗号分隔值

但它只下载当前的工作表,如何获取全部?

Soh*_*ham 9

对于任何导航到这个问题的人来说,尝试一次性将 Google 电子表格中的所有选项卡下载为 CSV 文件,即使在 2021 年,似乎也没有 GUI 按钮可以执行此操作。至少我什么也看不到。@Amit Agarwal 的答案做得很好,可以获取所有工作表,但如果您的文件在单元格中包含逗号分隔的数据,那么数据可能会被破坏。

我采用了 Amit 的方法/sf/answers/2009837301/并将其与 Michael Derazon 和 Aaron Davis 的方法结合起来https://gist.github.com/mrkrndvs/a2c8ff518b16e9188338cb809e06ccf1将所选 Google 电子表格的所有选项卡转储到Google 云端硬盘中的文件夹。然后,您只需单击一下即可下载该文件夹。

以下是 Google 脚本,不完全是 Javascript,您必须将其复制粘贴到https://script.google.com/中,使用您的 Google id 登录,然后创建一个项目,然后创建一个脚本应用程序,然后保存并执行此操作。

// /sf/answers/2009837301/
function export_sheets_as_csv_to_folder() {
  // Sheet id is in URL https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit#gid=IGNORE
  var ss = SpreadsheetApp.openById('YOUR_SHEET_ID');
  var sheets = ss.getSheets();
  if (sheets === undefined || sheets.length === 0) {
    return;
  }
  var passThroughFolder = DriveApp.createFolder('YOUR_PREFERRED_FOLDER_NAME_IN_DRIVE');
  for (var s in sheets) {
    var csv = convertRangeToCsvFile_(sheets[s])
    passThroughFolder.createFile(sheets[s].getName() + ".csv", csv);
  }
}

// https://gist.github.com/mrkrndvs/a2c8ff518b16e9188338cb809e06ccf1
function convertRangeToCsvFile_(sheet) {
  // get available data range in the spreadsheet
  var activeRange = sheet.getDataRange();
  try {
    var data = activeRange.getValues();
    var csvFile = undefined;

    // loop through the data in the range and build a string with the csv data
    if (data.length > 1) {
      var csv = "";
      for (var row = 0; row < data.length; row++) {
        for (var col = 0; col < data[row].length; col++) {
          if (data[row][col].toString().indexOf(",") != -1) {
            data[row][col] = "\"" + data[row][col] + "\"";
          }
        }

        // join each row's columns
        // add a carriage return to end of each row, except for the last one
        if (row < data.length-1) {
          csv += data[row].join(",") + "\r\n";
        }
        else {
          csv += data[row];
        }
      }
      csvFile = csv;
    }
    return csvFile;
  }
  catch(err) {
    Logger.log(err);
    Browser.msgBox(err);
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 2

单击下载 > pdf 后,选择导出 > 工作表(而不是默认的当前工作表)