Экспорт Google Sheet на диск - PullRequest
       11

Экспорт Google Sheet на диск

0 голосов
/ 21 февраля 2019

Цель: экспортировать данные из одного листа в файл CSV, созданный в Drive.

В настоящее время код создает электронную таблицу с правильным соглашением об именах.

Проблема: данные не объединяются со листав созданный CSV.Электронная таблица содержит 1 ячейку со словом «undefined».

function exportCSV() {
  var ui = SpreadsheetApp.getUi()
  var app = SpreadsheetApp;
  var ss = app.openById('REDACTED');
  var exportSheet = ss.getSheetByName('Export');
  var placementSheet = ss.getSheetByName('Placement Builder')
  var csvName = placementSheet.getRange('B12').getValue();
  var fileName = csvName + ".csv";
  var csvFile = convertRangeToCsvFile_(fileName);
  var folderId = placementSheet.getRange('B11').getValue();
  DriveApp.getFolderById(folderId).createFile(fileName, csvFile, MimeType.CSV);

  function convertRangeToCsvFile_(csvFileName) {
    var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Export').getActiveRange();
    try {
      var data = ws.getValues();
      Logger.log(ws);
      var csvFile = undefined;
      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] + "\"";
            }
          }
          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);
    }
  }
}
...