Google Script - вставка отступов в добавляемый текст - PullRequest
3 голосов
/ 23 сентября 2019

Я пытаюсь передать информацию из таблицы Google в документ Google.Это представление таблицы: enter image description here

Первый столбец отображается только один раз, и когда будет показан список элементов для этой категории.

Мне удалосьчтобы представить эту информацию в таблице внутри документа, но это необходимо для отображения в виде текста, поскольку минимальная высота каждой строки таблицы все еще слишком велика.

Эта информация будет перемещаться в виде массива с двумя столбцами, и я 'повторю через это.Вот что я попробовал:

  //servicios_numrows_Q  -> number of rows for the data
  //value_tabla_servicios -> variable that contains the information

  for(var t = 0; t < servicios_numrows_Q - 1; t++){
    if(body.appendParagraph(value_tabla_servicios[t+1][0]) == ''){ //Am I in a row that hasn't a Category Title?
      "\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
    }else
    {
      body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t" 
      + body.appendParagraph(value_tabla_servicios[t+1][1]);
    }
  }

Однако добавление вкладки приводит к тому, что каждый элемент отображается в отдельной строке.

enter image description here

Есть ли способ показать первый и второй столбцы в одной строке?Добавлять пробелы вместо табуляции?

1 Ответ

3 голосов
/ 23 сентября 2019
  • Вы хотите преобразовать верхнее изображение (таблицу) вашего вопроса в виде абзацев документа Google с помощью скрипта Google Apps.

Если мое понимание верно, как насчет этого ответа?

Точки модификации:

  • Когда вы добавляете \t в начало текста, используя appendParagraph, используйте следующее.
    • "\t" + body.appendParagraph(value_tabla_servicios[t+1][1]); изменяется на body.appendParagraph("\t" + value_tabla_servicios[t+1][1]);.
    • body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t" + body.appendParagraph(value_tabla_servicios[t+1][1]); изменяется на body.appendParagraph(value_tabla_servicios[t+1][0] + "\t" + value_tabla_servicios[t+1][1]);
  • В вашем сценарии, когда value_tabla_servicios[t+1] объявляется как переменная, читаемость скрипта может быть увеличена.
  • Если вы хотите выровнять столбец "B", вместо "\t".

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

Модифицированный скрипт:

for(var t = 0; t < servicios_numrows_Q - 1; t++){
  var row = value_tabla_servicios[t+1];  // Added
  if (row[0] == ''){  // Modified
    body.appendParagraph("\t\t" + row[1]);  // Modified
  } else {
    body.appendParagraph(row[0] + "\t" + row[1]);  // Modified
  }
}
  • По длине значения row[0], "\t\t\t" из body.appendParagraph("\t\t" + row[1]) можетбыть пригодным.Об этом, пожалуйста, проверьте свою реальную ситуацию.

Ссылка:

Если я неправильно понялВаш вопрос, и это было не то направление, которое вы хотите, я прошу прощения.Если возникает ошибка, можете ли вы предоставить образец электронной таблицы, требуемый вывод и весь сценарий?Этим я хотел бы подтвердить это.Конечно, удалите вашу личную информацию.

...