Как можно сохранить разрывы строк в таблицах Google при публикации на сайтах Google?

У меня есть скрипт на скрипте приложения Google. Этот скрипт находит данные просто.

мой код:

var content=this.spreadsheet.getSheetByName("sheet1").getRange("C1:C26").getValues();
this.summary = contents[4][0];

Я нахожу свои данные, без проблем, но в моих данных есть разрывы строк, и моя веб-страница на сайтах Google показывает результат без разрывов строк.

Это проблема преобразования с помощью GetValue ()?


мои данные в ячейке электронной таблицы:

blabab---
bla
abla---

bla

результат на сайте Google

blabab---bla abla---bla


person Hanny94    schedule 21.11.2013    source источник
comment
Вы можете пояснить, о чем спрашиваете? Вы говорите, что в моих данных нет break_line, а моя веб-страница на сайтах Google показывает результат без break_line. Если это то, что происходит, в чем проблема? Кроме того, под break_line вы имеете в виду разрыв строки, как в \n?   -  person Chris Cirefice    schedule 22.11.2013
comment
Да, в моей ячейке электронной таблицы у меня много разрывов строки, а на моей веб-странице на сайтах Google у меня нет одного разрыва строки или / n или ‹br /› да   -  person Hanny94    schedule 22.11.2013


Ответы (1)


Решение следующее:

  1. Получите строку (в ячейке), которую вы хотите опубликовать на своем сайте Google.
  2. Замените все разрывы строк (\n) в строке версией HTML (<br />)

Примерно так:

function lineBreakTest() {
  var cellWithLineBreaks = SpreadsheetApp.getActiveSheet().getRange("a1").getValue();
  Logger.log(cellWithLineBreaks);

  cellWithLineBreaks = cellWithLineBreaks.replace(/\n/g, '<br>');

  Logger.log(cellWithLineBreaks);

  // Post to your Google Site here. Logger.log is just used to demonstrate.

}

Причина, по которой вы должны это сделать, заключается в том, что в электронных таблицах используются обычные разрывы строк текста \n в своих ячейках. Однако сайты Google используют формат HTML, поэтому вам необходимо выполнить «преобразование». Этот ответ также полезный источник.

person Chris Cirefice    schedule 22.11.2013
comment
Спасибо, Крис, но на моих сайтах Google я вижу: (например: ‹br /› ‹br /› ‹br /› ‹br /› Основная цель этого проекта - ... ‹br /›) Этот код отображать на странице page.html в том же проекте скрипта Google (я использую textArea на странице html, поэтому проблема касается страницы html в скрипте Google, а не ячейки в электронной таблице?) - person Hanny94; 22.11.2013
comment
Вам нужно будет использовать HTML Box, который является гаджетом в Сайтах Google, или использовать методы в классе Sites, которые используют HTML в качестве параметра. См. класс Сайтов - person Chris Cirefice; 23.11.2013
comment
Я не могу использовать гаджет на своих сайтах Google, у меня есть шаблон HTMl test_data.html, а моя строка находится в объекте TP: My string: TP.summary; мой код: ‹? = TP.summary?› ‹? if (this.edit) {? ›‹/textarea›‹?}? ›Я заменил ваш код, Крис, но я вижу ‹br /› в строке, а не в break_line ... - person Hanny94; 25.11.2013
comment
Насколько мне известно, Сайты Google по умолчанию отображают HTML в сообщениях как Announcements, так и Pages. Вы можете попробовать заменить на <br> вместо <br />, и это может помочь. Если ваш текст не отображается как HTML, вам необходимо использовать \n в качестве разделителя для разрывов строк. \r - это возврат каретки, который работает почти так же. Вы также можете попробовать использовать это. Однако, если ваш текст отображается как HTML, вам нужно использовать тег HTML, который дает вам разрыв строки. По моему опыту, <br> и <p> похожи. Попробуйте одну из этих альтернатив :) - person Chris Cirefice; 25.11.2013
comment
В качестве дополнительного примечания ... поскольку вы используете тег HTML <textarea> ... вы должны увидеть этот пост. Практически прямой ответ на ваш вопрос;) по крайней мере ... я думаю. См. Также документацию на textarea tag. - person Chris Cirefice; 25.11.2013
comment
Спасибо, Крис, но тег br не работает, я вижу тег на своей странице сайтов Google, но тег p, я не вижу тега, но нет строки разрыва на моей странице сайтов Google ... :( - person Hanny94; 26.11.2013
comment
код с функцией замены: testtest</p><p>test</p><p></p><p>testtest Страница сайта Google: </p><p>testtest</p><p>test</p><p></p><p>testtest то же самое с <br> - person Hanny94; 26.11.2013
comment
Что ж, это означает, что ваша сторона Google не отображает HTML или вы неправильно настраиваете HTML. Скорее всего, второе. Просмотрите документацию, чтобы использовать правильные методы для создания Announcements или Pages. Оба принимают HTML в качестве параметра, поэтому, если вы правильно используете эти методы, ваш HTML (теги <br>, <p> и т. д.) будет отображаться должным образом. - person Chris Cirefice; 26.11.2013