Salve a tutti, spero di postare nella sezione giusta.
Sto facendo delle prove per creare una piccola web app, utilizzando Google AppScript .
Mi servirebbe semplicemente visualizzare una tabella che contenga dei dati contenuti nel foglio "Promemoria" in un Google sheet su drive ma non riesco.
Questi i codici utilizzati:
code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getPromemoriaData() {
const ss = SpreadsheetApp.openById('id_google_sheet');
const sheet = ss.getSheetByName('Promemoria');
const data = sheet.getDataRange().getValues();
Logger.log(data);
return data;
}
Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ccc;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h2>Dati dal foglio Promemoria</h2>
<div id="table-container">Caricamento...</div>
<script>
function buildTable(data) {
let html = "<table>";
data.forEach((row, rowIndex) => {
html += "<tr>";
row.forEach(cell => {
html += rowIndex === 0
? `<th>${cell}</th>`
: `<td>${cell}</td>`;
});
html += "</tr>";
});
html += "</table>";
document.getElementById("table-container").innerHTML = html;
}
google.script.run.withSuccessHandler(buildTable).getPromemoriaData();
</script>
</body>
</html>
Quando apro il link della web app mi visualizza il titolo "Dati dal foglio Promemoria" e sotto "Caricamento...", ma niente tabella.
Questo l'errore che credo venga riscontrato consultando la console del browser: Uncaught TypeError: Cannot read properties of null (reading 'forEach')
Non credo ci siano problemi con le autorizzazioni, perchè dai log vedo che la funzione getPromemoriaData() mi preleva correttamente i dati dal foglio.
Spero che l'argomento non sia inadeguato per questa sezione di forum. In caso contrario mi scuso in anticipo.
Grazie