Как получить дату в определенном формате в моей HTML — форме из ячейки в электронной таблице Google с помощью скрипта приложений

#google-apps-script #formatting

Вопрос:

Доброго вам дня.

https://www.bpwebs.com/pull-data-from-google-sheets-to-html-table/#more-21726

Когда данные передаются в HTML / массив данных — как мы можем отформатировать данные?

Например, Дата в определенном формате, строки в верхнем регистре, числа с 3 десятичными знаками и т. Д.

Пожалуйста, может ли кто-нибудь помочь.

Заранее благодарю сообщество SO.

с уважением sA

Комментарии:

1. Обычно полем даты формы является type="date" или type="datetime-local" . Они имеют требуемый формат, и отображение не может быть изменено. Не могли бы вы уточнить, какова ваша цель?

2. Кроме того, вас не смущает, работаете ли вы над Google Apps Script или HTML(js). Пожалуйста, предоставьте свой код.

3. использование скрипта Google Apps для извлечения данных из таблиц Google в таблицу HTML с использованием массива данных. пользователю разрешается выбрать строку, и данные заполняются в форме. Я хочу, чтобы данные были отформатированы как дд-ММ-гггг вместо гггг-ММ-дд.Моя HTML-форма имеет следующий <div класс=»строка формы»> <div класс=»строка формы»><div класс=»группа форм col-md-6″> <div класс=»группа форм col-md-6″><метка для=»rtiDate» >Дата RTI<метка для=»rtiDate» ></метка> </метка><тип ввода=»текст» класс=»управление формой» идентификатор=»дата» имя=»Дата» onfocus=»(этот.тип=» дата»)» onblur=»(этот.тип=» текст»)» требуется> <тип ввода=»текст» класс=»управление формой» идентификатор=»дата» имя=»Дата» onfocus= «(этот.тип= «дата») «onblur=» (этот.тип= «текст») » требуется></div> Это позволяет пользователь вводит дату с помощью средства выбора даты.

4. Итак, ваш вопрос в том, как отформатировать дату, полученную из электронной таблицы?

5. да. во время заполнения данных в массив.

Ответ №1:

Дата форматирования(дата, часовой пояс, формат)

 function ss2Form() {
  /* ... */

  /* use it if the display format in sheet is dd-MM-yyyy
  const dates = range.getDisplayValues();
 */

  const rawDates = range.getValues();
  const dates = rawDates.map(value => {
    return Utilities.formatDate(new Date(value[0]), 'Your Time Zone', 'dd-MM-yyyy');
  });
  return dates;
}
 

Ответ №2:

     function createTable(dataArray) {
        if(dataArray amp;amp; dataArray !== undefined amp;amp; dataArray.length != 0){
          var result = "<table class='table table-sm table-striped' id='dtable' style='font-size:0.8em'>" 
                       "<thead style='white-space: nowrap'>" 
                         "<tr>"                                //Change table headings to match witht he Google Sheet
                          "<th scope='col'>ORDERNUMBER</th>" 
                          "<th scope='col'>QUANTITYORDERED</th>" 
                          "<th scope='col'>PRICEEACH</th>" 
                          "<th scope='col'>ORDERLINENUMBER</th>" 
                          "<th scope='col'>SALES</th>" 
                          "<th scope='col'>ORDERDATE</th>" 
                          "<th scope='col'>STATUS</th>" 
                          "<th scope='col'>QTR_ID</th>" 
                          "<th scope='col'>MONTH_ID</th>" 
                          "<th scope='col'>YEAR_ID</th>" 
                          "<th scope='col'>PRODUCTLINE</th>" 
                          "<th scope='col'>MSRP</th>" 
                          "<th scope='col'>PRODUCTCODE</th>" 
                          "<th scope='col'>CUSTOMERNAME</th>" 
                          "<th scope='col'>PHONE</th>" 
                          "<th scope='col'>ADDRESSLINE1</th>" 
                          "<th scope='col'>ADDRESSLINE2</th>" 
                          "<th scope='col'>CITY</th>" 
                          "<th scope='col'>STATE</th>" 
                          "<th scope='col'>POSTALCODE</th>" 
                          "<th scope='col'>COUNTRY</th>" 
                          "<th scope='col'>TERRITORY</th>" 
                          "<th scope='col'>CONTACTLASTNAME</th>" 
                          "<th scope='col'>CONTACTFIRSTNAME</th>" 
                          "<th scope='col'>DEALSIZE</th>" 
                        "</tr>" 
                      "</thead>";
          for(var i=0; i<dataArray.length; i  ) {
              result  = "<tr>";
              for(var j=0; j<dataArray[i].length; j  ){
                  result  = "<td>" dataArray[i][j] "</td>";
              }
              result  = "</tr>";
          }
          result  = "</table>";
          var div = document.getElementById('search-results');
          div.innerHTML = resu<
        }else{
          var div = document.getElementById('search-results');
          //div.empty()
          div.innerHTML = "Data not found!";
        }
      }
 

сохраните ДАТУ ЗАКАЗА в массиве в виде дд-ММ-гггг