Могу ли я отображать данные Google sheet на своем сайте без использования тега embed ? Это хамство

#html #excel #database #google-sheets #embed

Вопрос:

У меня есть лист в Google. Я хочу показать это на HTML-странице за пределами Google таблиц, например, для ## Заголовка ##бесплатного хостинга или других! Я использую встраивание в тег, но таблица выглядит очень по-хамски. Я хочу показать данные по коду! Я попытался подключиться к google sheet, но не могу. Возможно ли это? Или я делаю невозможное? Кто может мне это объяснить? Могу ли я сделать это с помощью excel!

Ответ №1:

Внутри вашей html-страницы создайте

 <div id="json">json here</div>
 

затем добавьте этот javascript для извлечения данных по конечной точке json (я оставляю идентификатор и GID шахт, изменяю по мере необходимости)

 var id = '1n-rjSYb63Z2jySS3-M0BQ78vu8DTPOjG-SZM4i8IxXI';
var gid = '0';
var url = 'https://docs.google.com/spreadsheets/d/' id '/gviz/tq?tqx=out:jsonamp;tqamp;gid=' gid;
fetch(url)
  .then(response => response.text())
  .then(data => document.getElementById("json").innerHTML=myItems(data.substring(47).slice(0, -2))  
  );
function myItems(jsonString){
  var json = JSON.parse(jsonString);
  var table = '<table><tr>'
  json.table.cols.forEach(colonne => table  = '<th>'   colonne.label   '</th>')
  table  = '</tr>'
  json.table.rows.forEach(ligne => {
    table  = '<tr>'
    ligne.c.forEach(cellule => {
        try{var valeur = cellule.f ? cellule.f : cellule.v}
        catch(e){var valeur = ''}
        table  = '<td>'   valeur   '</td>'
      }
    )
    table  = '</tr>'
    }
  )
  table  = '</table>'
  return table
}
 

протестировано здесь https://codepen.io/mikesteelson/pen/wvevppe