Замена текста с помощью скрипта приложения для листов Google - PullRequest
0 голосов
/ 10 февраля 2020

Проблема

У меня возникли проблемы с заменой текста при помощи скрипта приложения. Я хотел бы получить желаемый результат ниже, но в настоящее время у меня есть несколько проблем с дополнительными запятыми и отсутствием апострофов.

Код

function onEdit() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var row_count = sheet.getLastRow();
  var input_data = sheet.getRange(1, 1, row_count, 15).getValues();
  var data = [];
  for (var i = 0; i < row_count; i++) {

      var row_data; 

        // Table Row
      if (input_data[i][0] == "table") {
        row_data = "INSERT INTO " + input_data[i][1];

        // Fields Row
      } else if (input_data[i][0] == "fields") {
        row_data = "(" + input_data[i] + ")";

        // Values Row
      } else if (input_data[i][0] == "values") {
        row_data = "VALUES";

        // Entry Row
      } else if (input_data[i][0] == "entry") {
        row_data = "(" + input_data[i] + ");";

        // Empty Row
      } else if (input_data[i][0] == "") {
        row_data = "";
      }

      data.push([row_data]);
  }
  sheet.getRange(1, 16, data.length, 1).setValues(data);
}

Данные

enter image description here

Токовый выход

enter image description here

Требуемый выход

enter image description here

1 Ответ

1 голос
/ 10 февраля 2020

Использование array.join:

row_data = "(" + input_data[i].filter(e=> e!=="").join(", ") + ")";

Или

row_data = "('" + input_data[i].filter(e=> e!=="").join("', '") + "')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...