Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组添加为";“范围”;Google sheets中嵌入式图表的应用_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 将数组添加为";“范围”;Google sheets中嵌入式图表的应用

Javascript 将数组添加为";“范围”;Google sheets中嵌入式图表的应用,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,简介:我想通过使用嵌入的Google脚本中生成的数组来更改Google sheets EmbeddedChart中的数据,而无需先将数据倒入单元格中 Long:我有一个绑定脚本,用于更新先前存在的电子表格。我修改了js中的数据,并希望更改一个嵌入式图表以使用生成的数据数组,而不将数据放在表中。从技术上讲,我不在乎它是一个嵌入的图表,我只想用一个图表制作一个摘要页面,而不想用额外的表格污染文档。不希望使用工作表创建HTML页面 我尝试过各种选择 .setDataTable()不是EmbeddedC

简介:我想通过使用嵌入的Google脚本中生成的数组来更改Google sheets EmbeddedChart中的数据,而无需先将数据倒入单元格中

Long:我有一个绑定脚本,用于更新先前存在的电子表格。我修改了js中的数据,并希望更改一个嵌入式图表以使用生成的数据数组,而不将数据放在表中。从技术上讲,我不在乎它是一个嵌入的图表,我只想用一个图表制作一个摘要页面,而不想用额外的表格污染文档。不希望使用工作表创建HTML页面

我尝试过各种选择

.setDataTable()
不是
EmbeddedChartBuilder
的方法,这与普通(HTML)谷歌图表不同。我假设我缺少一些简单的东西,比如某个类,该类将数组转换为类似于DataTable或Excel名称的伪范围实例,而不涉及工作表

最坏的情况:我不知道有什么方法可以在Google sheets中添加id为attrib的div,有吗

测试方法:

  • sheet.getCharts()[0].modify().addRange([2,3,4,5])//无法将数组转换为范围
  • sheet.getCharts()[0].modify().addRange(“{2,3,4,5}”)//找不到方法addRange(字符串)
  • (Desparate…<代码>sheet.getCharts()[0].modify().setDataTable()//在对象EmbeddedChartBuilder中找不到函数setDataTable
  • (Desparate…<代码>表格更新部分(chartFromCharts)//找不到方法updateChart(图表)
  • 神奇地将数组转换为范围对象,而无需保存在工作表上

    //演示脚本。 函数填充(){ VarA=[1,2,3,4,5]; var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var chart=sheet.getCharts()[0].modify(); setOption('title','Changed in script…); cchart=chart.ascolumnhart(); dt=Charts.newDataTable().addColumn(Charts.ColumnType.STRING,“分类横坐标”).addColumn(Charts.ColumnType.NUMBER,“数字纵坐标”).addRow([“A”,5]).addRow([“B”,6]).build()

    //尝试1.Desparate,以防它接受数组。 //chart.addRange(a);//无法将数组转换为范围。 //cchart.addRange(a);//无法将数组转换为范围。 //请尝试2.取消禁用,以防它接受DataTable //chart.addRange(dt);//找不到方法addRange(DataTable)。 //试试3.绝望的黑客。。。 //新建google.visualization.ColumnChart(getCharts()[0].getId()).draw(dt,选项);//引用错误:“google”未定义 //我可以访问它吗? //$(getCharts()[0].getId()).html(“Hacked”)//引用错误:“$”未定义。 //再次。。。 //document.getElementByID(getCharts()[0].getId())//引用错误:“文档”未定义。 //试试5。 //sheet.updateChart(Charts.newColumnChart().build());//找不到方法updateChart(Chart)。 //尝试4.文档中缺少方法?! //chart.addDataTable(a);//在对象EmbeddedChartBuilder中找不到函数addDataTable

    //cchart.addDataTable(a);//在对象EmbeddedColumnChartBuilder中找不到函数addDataTable

    sheet.updateChart(chart.build()); }


使用普通对象和.getAs(MimeType.PNG)将图表作为图像添加到电子表格中,而不是使用嵌入式图表


编辑:我已经尝试过这个解决方案,由于谷歌的错误,当你得到PDF格式的电子表格时,脚本插入的图像不会显示出来。谷歌请解决这个问题,自从有报道以来已经三年了,他们还在“努力”解决这个问题。

到目前为止你都做了些什么?你能再澄清一下你想做什么吗?。。。查看这篇关于如何在Stack Overflow中提问的文档我的目标只是在google sheets中制作一个图表,而不必使用所需的数据制作一个新的工作表,也不必在工作表外制作HTML页面或类似的页面,因为这样做会违背其目的。谢谢