每当我尝试使用Javascript中的“ google.script.run”函数调用从3张纸中的2张中提取数据时,我总是收到错误消息,说我要返回的数组为Null,但是当我只更改精确值时在另一个工作表上使用相同的函数调用,它将完美地返回数据
我尝试删除工作表并为其指定相同的名称,我尝试使用'openWithURL'而不是'getActive'访问电子表格,我尝试重写代码,并在其他项目中尝试了相同的代码,并检查文档以确保我没有遗漏任何细节。我尝试过更改工作表的引用,有些工作,有些则没有。
var SS = SpreadsheetApp.getActive();
var DB_BOOKINGS = SS.getSheetByName("BookingDatabase");
var DB_VEHICLES = SS.getSheetByName("VehicleDatabase");
var DB_REQUESTS = SS.getSheetByName("RequestDatabase");
function getRequestData(){
return DB_REQUESTS.getDataRange().getValues();
}
<script>
function getRequestData(callingFunction) {
google.script.run
.withSuccessHandler(callingFunction)
.withFailureHandler(CustomAlert)
.getRequestData();
}
</script>
我想检索工作表数据,但始终获得空值
答案 0 :(得分:1)
由于这是您所说的格式化问题,请尝试使用getDisplayValues()
而不是getValues()
,这将按您在工作表中看到的数据(作为字符串)提取数据,而不是未格式化的数据本身。
答案 1 :(得分:0)
我遇到了类似的问题。这正是我需要的解决方案。就我的情况而言,我能够在初始页面加载时成功使用getValues()
,但是当我尝试再次运行它作为一种“刷新”来更新值而不重新加载整个页面时,它将返回{ {1}}。
我的数据确实包含日期,因此将其更改为null
后,它可以很好地工作。