在Google Script中访问电子表格

use*_*850 11 google-apps-script

我正在电子表格上写一个谷歌脚本.我想将其部署为Web应用程序.它显示了一些值.不幸的是,使用我目前的代码,谷歌提醒我:

TypeError:无法调用null的方法"getSheetByName".

我不知道错误在哪里.

这是代码

function doGet(e) {
    var app = UiApp.createApplication().setTitle('Details');
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
    var dataFromCell = ss.getRange("B4").getValue();

    var mypanel = app.createVerticalPanel();
    var label = app.createLabel(dataFromCell);

    app.add(mypanel);
    app.add(label);

    return app;
}
Run Code Online (Sandbox Code Playgroud)

Ser*_*sas 32

在独立的webapps中,您无法使用getActiveSpreadsheet,因为没有人主动使用它... SpreadsheetApp.openById('ID')相反,您可以在电子表格的网址中获取ID,如下例所示:

https://docs.google.com/spreadsheet/ccc?key=0AnqSFd3iikE3d-------nZIV0JQQ0c1a3dWX1dQbGc#gid=0
Run Code Online (Sandbox Code Playgroud)

之间key=和#,即0AnqSFd3iikE3d-------nZIV0JQQ0c1a3dWX1dQbGc

  • 请注意,网址结构已更改:_例如,网址https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0中的电子表格ID为""abc1234567"`. (4认同)