恐怕幾件事情是錯在你的代碼:
- 您應該使用
return HtmlService.createTemplateFromFile('Main Page').evaluate();
代碼爲
- 通過的getData返回的值是一個數組以得到一個HTML頁面的結果,你應該以某種方式將其轉換爲HTML可以理解的東西......或者在html文件中有一些代碼來正確處理數組數據。
例如,一個字符串工作
function getData() {
var data = SpreadsheetApp.openById('0AtD2IyQN1tyGdHBiLWExb3NoSHZ2RlAzNTBrS1dQLXc').getRange('testRange').getValues();
return data.toString().replace(/,/g,' | ');
}
3:在您的HTML語法錯誤,嘗試這樣的:
<html>
<?= getData(); ?>
</html>
或類似這樣的,在每個單元新行如果數據是簡單的數組:
(在代碼中使用return data.toString().split(',');
)
<? var data = getData();
for (var i = 0; i < data.length; ++i) { ?>
<b><?= data[i] ?></b><BR>
<? } ?>
或者表中的如果你把你的數據作爲2維陣列,這裏是一個完整的例子:
test exec here
代碼:
function doGet() {
return HtmlService.createTemplateFromFile('Main Page').evaluate();
}
function getData() {
var data = SpreadsheetApp.openById('0AtD2IyQN1tyGdHBiLWExb3NoSHZ2RlAzNTBrS1dQLXc').getRange('dataRange').getValues();
return data;
}
HTML:
<table border="5" bordercolor="FFCC00" style="background-color:#dddddd" width="400" cellpadding="5" cellspacing="3">
<? var data = getData();
for (var i = 0; i < data.length; ++i) { ?>
<tr>
<? for (n = 0; n< data[0].length; ++n) { ?>
<td><?= data[i][n] ?></td>
<? } }?>
</tr>
</table>
我認爲這就是全部......我不知道你的範圍內有什麼顯示,所以我不能進一步提供更多的提示......
你能提供更多關於它如何失敗的信息嗎?你看到一個錯誤? – 2013-03-01 23:05:58