2015-12-04 29 views
0

我想把一个在google表格中创建的图表作为嵌入图像放到gmail html主体中。它出现了,但它被裁剪(图像留下),我无法弄清楚如何显示整个图表。该图表显示整体和行中的片材(图像右侧)图表内嵌图像裁剪

cropped chart imageuncropped chart

下面是代码:

//creates chart of tasks to embed an inline image in gmail message 
    var chart = sheet.newChart() 
    .setChartType(Charts.ChartType.TABLE) 
    .addRange(range) 
    .setOption('height', 800) 
    .setPosition(1,1,0,0) 
    .build(); 

    sheet.insertChart(chart); 

    var table = sheet.getCharts()[0]; 

    var htmlList = '<h2>Tasks:</h2><img src="cid:chart1" />'; 
     htmlList = htmlList + '<br><br>Click <a href="https://sites.google.com/a/dwightlondon.org/dsl-whole-school-staff-hub/new-students" target="_blank">here</a> to visit Induction page'; 

table.modify().setOption('height', 800) 
    var taskList = table.getAs('image/gif').setName('chart1'); 



    GmailApp.sendEmail('[email protected]', 
        'Updated induction tasks for '+userType + ' ' + student, 
        'tasks: ', 
        { htmlBody: htmlList, 
         inlineImages: { 
          chart1: taskList 
         }}); 

    sheet.removeChart(table[0]); 

回答

0

我认为该图像是被裁剪为默认大小值的结果。

随着嵌入式图表我不能改变大小,但是,我尝试使用Charts服务,并能够设置尺寸。

所以修改代码一点点,我得到了完整的图表:

var chart = Charts.newTableChart().setDataTable(range.getDataTable()).setDimensions(600, 600).build(); 

var htmlList = '<h2>Tasks:</h2><img src="cid:chart1" />'; 
     htmlList = htmlList + '<br><br>Click <a href="https://sites.google.com/a/dwightlondon.org/dsl-whole-school-staff-hub/new-students" target="_blank">here</a> to visit Induction page'; 

    GmailApp.sendEmail('[email protected]', 
        'Updated induction tasks for '+userType + ' ' + student, 
        'tasks: ', 
        { htmlBody: htmlList, 
         inlineImages: { 
          chart1: chart.getBlob().setName('chart1') 
         }}); 

检查,如果这对你的作品。

+0

这是有效的。非常感谢你。 –