![](/img/trans.png)
[英]How do I get arrays mapped in a row in google sheet using JavaScript/Google App script
[英]How do i get the date value from google spreadsheet database using javascript in google app script
我有一個問題,為什么當我在Google電子表格數據庫中的記錄中放置日期時,它什么也不顯示。 不能弄清楚為什么,但是當我刪除日期時,它會顯示出來。 我認為javascript無法從Google電子表格中讀取日期? 我嘗試使用new Date()
但仍無法正常工作。 請幫助我。 當我這樣放
<? var data = getData(); ?>
<table id="tableShift2">
<caption>Team unknown</caption>
<th> Date and Time Plotted </th>
<th> LDAP </th>
<th> Date of VL </th>
<th> HD/WD </th>
<th> Action </th>
<? for (var q = 1; q < data.length; q++) {?>
<tr>
<td><?=data[q][1];?></td>
</tr>
<?}?>
</table>
它顯示日期。 因此,就像在JS中不從數據庫中讀取日期一樣。 那就是為什么我需要您的幫助人員,它如何使編碼完美。
Code.gs
function doGet() {
return HtmlService
.createTemplateFromFile('Index')
.evaluate();
}
function getData() {
return SpreadsheetApp
.openById('17lKIhONfEeNogsBhKtGr4zVaLgH0_199-3J3-0tAdcE')
.getActiveSheet()
.getDataRange()
.getValues();
}
的index.html
<html>
<head>
<base target="_top">
</head>
<body>
<? var data = getData(); ?>
<div id="Options">
<label><b>Month</b></label>
<select id="selectMonth">
<option value="0">-Select Month-</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select> -
<input type="radio" name="radioYear" id="radioYear" value="<?= new Date().getYear(); ?>"> <?= new Date().getYear(); ?>
<input type="radio" name="radioYear" id="radioYear2" value="<?= new Date().getYear()+1; ?>"> <?= new Date().getYear()+1; ?>
<button id="btnFetch" onclick="google.script.run.withSuccessHandler(fetchRecord).getData()">Fetch</button>
</div>
<div id="tables">
<table id="tableShift2">
<caption>Team unknown</caption>
<th> Date and Time Plotted </th>
<th> Name </th>
<th> Date of VL </th>
<th> HD/WD </th>
<th> Action </th>
</table>
</div>
<div id="date"></div>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(function() {
google.script.run.withSuccessHandler(showData)
.getData();
});
function showData(things) {
var table = $('#tableShift2');
for (var i = 0; i < things.length; i++) {
if (things[i][6] == '') {
table.append('<tr> <td>' + things[i][1] +
'</td> <td>' + things[i][2] +
'</td> <td>' + things[i][3] +
'</td> <td>' + things[i][4] +
'</td> <td ><button onclick=\'ApproveAndRefresh("' + things[i][0] + '","' + things[i][2] +
'")\' id="btnApprove">Approve</button> <button onclick=\'DeclineAndRefresh("' + things[i][0] + '","' + things[i][2] +
'")\' id="btnDecline">Decline</button></td></tr>');
}
}
}
function ApproveAndRefresh(data, data1){
google.script.run
.withSuccessHandler(refreshData)
.setApproved(data, data1);
}
function DeclineAndRefresh(data, data1){
google.script.run
.withSuccessHandler(refreshData)
.setDeclined(data, data1);
}
function refreshData(hl){
document.open();
document.write(hl);
document.close();
}
</script>
</body>
</html>
因此,從.getData()
返回的數據是一個對象。 Google Apps腳本的google.script.run
不支持該功能。 您可以
return JSON.stringify(SpreadsheetApp.openById('17lKIhONfEeNogsBhKtGr4zVaLgH0_199-3J3-0tAdcE')
.getActiveSheet()
.getDataRange()
.getValues())
在您的腳本中,然后在SuccessHandler中:
function showData(things) {
things = JSON.parse(things)
//rest of your code...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.