Him*_*ara 7 html null web-applications google-apps-script
我正在尝试将电子表格中的数据返回到作为 webApp 发布的 Apps 脚本。但是,对于我的其中一个电子表格(链接),返回的数据是null. 我在返回之前记录了数据以确保它不为空,并且我可以在日志中看到它们。
这是我的代码:
function doGet(){
return HtmlService.createHtmlOutputFromFile('index');
}
function spreadsheetTest() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var maxRows = sheet.getMaxRows();
var data = sheet.getSheetValues(1, 1, maxRows, 10);
Logger.log(data)
return data;
}Run Code Online (Sandbox Code Playgroud)
<html>
<button type="button" onclick="clcked();">Click Me!</button>
<div id="Message"></div>
<script>
function clcked(){
google.script.run
.withSuccessHandler(function(response) {
console.log(response);
})
.spreadsheetTest();
}
</script>
</html>Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。:)
Tan*_*ike 18
我以前遇到过同样的问题。当日期格式的值包含在data其中 由 检索时getSheetValues(),返回值变为空值。我认为当日期值被解析和/或转换时,当值从 GAS 发送到 Javascript 时,可能会出现问题。这样,返回 null。为了避免这种情况,我认为您的情况有两种模式。请根据您的情况选择其中之一。
对于函数spreadsheetTest(),修改如下。
return data;
Run Code Online (Sandbox Code Playgroud)
到 :
return JSON.stringify(data);
Run Code Online (Sandbox Code Playgroud)
对于函数spreadsheetTest(),修改如下。
var data = sheet.getSheetValues(1, 1, maxRows, 10);
Run Code Online (Sandbox Code Playgroud)
到 :
var data = sheet.getRange(1, 1, maxRows, 10).getDisplayValues();
Run Code Online (Sandbox Code Playgroud)
如果这些对你的情况没有用,我很抱歉。
| 归档时间: |
|
| 查看次数: |
1879 次 |
| 最近记录: |