TypeError:无法从null读取属性“getDataRange”。 (第3行,文件“代码”)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeError:无法从null读取属性“getDataRange”。 (第3行,文件“代码”)相关的知识,希望对你有一定的参考价值。

我决定在使用电子表格时尽可能使用Google Scripts,只是为了开始增加知识。但我没有受过训练,很快被卡住了。

我在youtube上看到了一些不同脚本的代码,但我认为我提取了我需要的东西并且可以让它工作......

function doGet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = data.getRange();

  var countFilter = Charts.newNumberRangeFilter().setFilterColumnIndex(2).build();
  var categoryFilter = Charts.newCategoryFilter().setFilterColumnIndex(0).build();
  var categorysearchFilter = Charts.newStringFilter().setFilterColumnIndex(0).build();
  var monthFilter = Charts.newCategoryFilter().setFilterColumnIndex(1).build();

  var tableChart = Charts.newTableChart().setDataViewDefinition(
        Charts.newDataViewDefinition().setColumns([0, 1, 2]))
      .build();
  var pieChart = Charts.newPieChart() .setDataViewDefinition(
        Charts.newDataViewDefinition().setColumns([0, 1, 2]))
      .build();

  var dashboard = Charts.newDashboardPanel()
      .setDataTable(data)
      .bind([countFilter, categoryFilter, categorysearchFilter, monthFilter],
            [tableChart, pieChart])
      .build();

  var app = UiApp.createApplication();
  var filterPanel = app.createVerticalPanel();
  var chartPanel = app.createHorizontalPanel();
  filterPanel.add(countFilter).add(categoryFilter).add(categorysearchFilter)
      .add(monthFilter).setSpacing(10);
  chartPanel.add(tableChart).add(pieChart).setSpacing(10);

  dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel));
  app.add(dashboard);
  return app;
}

我收到的错误=> TypeError:无法从null读取属性“getDataRange”。 (第3行,文件“代码”)

你能帮助我吗?

答案

问题是你告诉脚本获取一系列数据而不告诉它在哪里看。

尝试用这个替换第一行:

var data = SpreadsheetApp.getActive().getSheetByName("Name of sheet goes here");

显然改变了最后一部分。

您的代码存在更多问题,请尝试通过here查看一些指导。

以上是关于TypeError:无法从null读取属性“getDataRange”。 (第3行,文件“代码”)的主要内容,如果未能解决你的问题,请参考以下文章

获取服务帐户凭据 Apps 脚本 - TypeError:无法从 null 读取属性

无法从 Lambda 调用 AppSync GraphQL api:TypeError:无法读取 null 的属性“匹配”

尝试测试获取所有路由时出现“TypeError:无法读取 null 的属性 '1'”?

TypeError:无法从null读取属性“getDataRange”。 (第3行,文件“代码”)

使用 useeffect 和 useref TypeError 时出错:无法读取 null 的属性“getBoundingClientRect”

TypeError:无法读取 null 的属性(读取“发射”)