Эта функция создает HTML для таблицы.Данные взяты из листа продуктов, который показан внизу.Данные отображаются в виде диалогового окна, но могут легко стать веб-приложением.
function getProductData() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Products');
var rg=sh.getDataRange();
var vA=rg.getValues();
var html='<style>th,td{border:1px solid black;}</style><table><tr><th>Item</th><th>Name</th><th>Color</th><th>Size</th><th>Price</th></tr>';
for(var i=1;i<vA.length;i++) {
html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',vA[i][0],vA[i][1],vA[i][2],vA[i][3],vA[i][4]);
}
html+='</table>';
var userInterface=HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'My Products');
}
Вот так выглядит мой лист продуктов: