Why the below code return 'server error' in GSuite Spreadsheet?
function test() {
var ss = SpreadsheetApp.openById('1Wc6nKxxxxxxxxxxxxxxxxxx0Ld6QyaY');
var sheet = ss.getSheetByName('2018.0801-0831');
var img = DriveApp.getFileById('1qw2uy3cNxxxxxxxxxxxxxxxxxDZRES');
var imgBlob = img.getBlob();
sheet.insertImage(imgBlob, 9, 20);
}
The Image is JPEG, 276KB.
With an image its size is 173KB, this code is working.
Is it possible to insert large imageBlobs?
In my experience, when an image is inserted by insertImage()
, the limitation is due to the image area (pixels^2) rather than the file size of it. The maximum area of image which can be inserted is 1,048,576 pixels^2.
I have experimented as follows.
- Image with the following sizes can be inserted.
- 1024 pixels x 1024 pixels
- 2048 pixels x 512 pixels
- 4096 pixels x 256 pixels
- Image with the following sizes can NOT be inserted.
- 1025 pixels x 1025 pixels
- 1024 pixels x 1025 pixels
- 1025 pixels x 1024 pixels
From these results, I concluded the limitation for inserting image is 1,048,576 pixels^2.
So if the area of image you want to insert is more than 1,048,576 pixels^2, please resize it and try again.
If this was not useful for your situation, I'm sorry.