从Google表格中提取数据时,始终保持“空”状态

时间:2019-06-20 09:28:40

标签: google-apps-script google-sheets

每当我尝试使用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>

我想检索工作表数据,但始终获得空值

2 个答案:

答案 0 :(得分:1)

由于这是您所说的格式化问题,请尝试使用getDisplayValues()而不是getValues(),这将按您在工作表中看到的数据(作为字符串)提取数据,而不是未格式化的数据本身。


参考:

答案 1 :(得分:0)

我遇到了类似的问题。这正是我需要的解决方案。就我的情况而言,我能够在初始页面加载时成功使用getValues(),但是当我尝试再次运行它作为一种“刷新”来更新值而不重新加载整个页面时,它将返回{ {1}}。 我的数据确实包含日期,因此将其更改为null后,它可以很好地工作。