如何在Google脚本中创建图表并将其作为图像保存到Google云端硬盘中

问题描述 投票:0回答:1

以下代码可以将图像保存到工作表中,但是我似乎无法弄清楚如何将其保存到Google云端硬盘。这是您可以复制的Google工作表:https://docs.google.com/spreadsheets/d/1AkJqpwmq0-GTveneyuQugPL900LpTS2MDpQjHz_p5lk/edit?usp=sharing

function testchartbuild() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName('Sheet1');
  var chart = sheet.newChart()
       .setChartType(Charts.ChartType.LINE)
       .addRange(sheet.getRange('A1:A12'))
       .setPosition(5, 5, 0, 0)
       .build();
  
  // create an image from that EmbeddedChart
  sheet.insertImage(chart.getBlob(),6,1);  // this works
  
  // the file created is only 4 bytes long
  var newFile = createGoogleDriveFile(chart.getBlob());
}


function createGoogleDriveFile(image) {
  var newFile;
  
  newFile = DriveApp.createFile('test.png',image,'image/png');//Create a new file in the root folder
  
  return newFile;
};
google-apps-script google-sheets
1个回答
0
投票
  • 您要将图表保存到Google云端硬盘。
  • 您想通过修改脚本来实现。

如果我的理解正确,那么这个答案如何?请认为这只是几个可能的答案之一。

修改点:

  • 在您的脚本中,请修改功能createGoogleDriveFile的脚本。
    • createFile(blob)的方法中,参数为blob
    • 想要提供文件名时,请使用setName()
    • 在这种情况下,已经将mimeType赋予了Blob。

修改的脚本:

修改脚本后,请进行如下修改。

从:
newFile = DriveApp.createFile('test.png',image,'image/png');
至:
newFile = DriveApp.createFile(image.setName('test.png'));

参考:

如果我误解了你的问题,而这不是你想要的方向,我深表歉意。

© www.soinside.com 2019 - 2024. All rights reserved.