[英]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] 作為兩個單獨的圖像一起發送?
非常感謝你的幫助。
我相信你的目標如下。
[0,1,2,3]
中的1
和2
的索引。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.