簡體   English   中英

從谷歌腳本中的數組獲取特定圖表

[英]Getting specific charts from array in google script

我無法使用數組從電子表格中獲取特定圖表。 下面的代碼是一個 function 的摘錄,它發送一個 email,其中包括圖表:

var sheetSummary = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Summary");
var charts = sheetSummary.getCharts();
var chartBlobs = new Array(charts.length);
var emailImages = {};
for(var i=0; i < charts.length; i++){
  chartBlobs[i] = charts[i].getAs("image/png").setName("chartBlob"+i);
  var emailChart = "<img src='cid:chart" + i + "'> test<br> "
  emailImages["chart"+i] = chartBlobs[i]
  }

此提取的最后一行中僅發送 email 中的圖表圖像的 chartBlobs 值是

chartBlobs[i]

chartBlobs[0]

即使charts.length數組和工作表上有4個圖表[0,1,2,3]。

如何更改它以發送例如圖表 [2] 或 [3],以及如何更改它以在 email 中將圖表 [2] 和 [3] 作為兩個單獨的圖像一起發送?

非常感謝你的幫助。

我相信你的目標如下。

  • 您想發送帶有內嵌圖像的 email。
  • 您想通過給出圖表索引來使用圖像。
    • 作為示例,您希望使用檢索到的圖表的[0,1,2,3]中的12的索引。

修改點:

  • 在這個答案中,首先, var chartIndex = [2, 3]; 聲明用於按索引檢索圖表。 根據您的問題,在此示例中,使用了 2 和 3。
  • 在這種情況下,我認為需要為每個圖像添加emailChart "<img src='cid:chart" + i + "'> test<br> "

當以上幾點反映到您的腳本時,它變成如下。

修改后的腳本:

請將要使用的圖表索引設置為var chartIndex = [2, 3]; .

var chartIndex = [2, 3]; // Please set the index of chart. Here, from your question, 2 and 3 are used.
var sheetSummary = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Summary");
var charts = sheetSummary.getCharts();
var emailImages = {};
var emailChart = "";
chartIndex.forEach(i => {
  emailChart += "<img src='cid:chart" + i + "'> test<br> ";
  emailImages["chart" + i] = charts[i].getAs("image/png").setName("chartBlob" + i);
});

// This is a sample for sending the email with the inline images.
MailApp.sendEmail({to: '###', subject: '###', htmlBody: emailChart, inlineImages: emailImages});
  • 在這個腳本中,當var chartIndex = [2, 3]; 修改為var chartIndex = [2]; ,使用索引2的圖表。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM