是否可以使用公式和云端硬盘文件路径将图像插入到 Google 表格电子表格中?
Is it possible to insert an image into a Google Sheets spreadsheet using a formula and Drive file path?
Google 云端硬盘文件在上传时通过唯一(随机)URL 共享出去。有没有一种方法可以通过使用图像文件路径的表格公式上传图像,而不是共享 URL?
而不是使用:https://drive.google.com/file/(分享link)
公式将使用类似:Drive/Test/img.png 或 Drive/Test/img.gif
我注意到在 Google Sheets 的 IMAGE 功能的帮助中它明确指出您不能使用在 drive.google.com 上托管的图像,但我想知道是否还有另一个实现此目的的方法。
如果您想获取特定文件夹中的特定图像,您将不得不浏览您的驱动器,因为多个文件夹和多个文件可以具有相同的名称。
function listOfFilesOfFolder() {
var myFolder = 'yourFolder';
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('yourSheet');
sh.clear();
sh.appendRow(["name", "date", "URL", "id", "type"]);
var folders = DriveApp.getFoldersByName(myFolder)
var foldersnext = folders.next();
var data = [];
var files = foldersnext.getFiles();
while (files.hasNext()) {
var file = files.next();
data = [
file.getName(),
file.getLastUpdated(),
file.getUrl(),
file.getId(),
file.getMimeType()
];
sh.appendRow(data);
}
sh.getRange('F1').setFormula(`={"image";arrayformula(if(D2:D="",,if(left(E2:E,5)="image",IMAGE("https://docs.google.com/uc?export=view&id="&D2:D),)))}`)
}
很遗憾,这是不可能的。由于Google Drive支持同一文件夹下存在多个同名文件,文件路径不足以唯一标识一个文件,因此无论“文件路径”是否为“文件路径”,都需要文件ID独特与否。
Google 云端硬盘文件在上传时通过唯一(随机)URL 共享出去。有没有一种方法可以通过使用图像文件路径的表格公式上传图像,而不是共享 URL?
而不是使用:https://drive.google.com/file/(分享link)
公式将使用类似:Drive/Test/img.png 或 Drive/Test/img.gif
我注意到在 Google Sheets 的 IMAGE 功能的帮助中它明确指出您不能使用在 drive.google.com 上托管的图像,但我想知道是否还有另一个实现此目的的方法。
如果您想获取特定文件夹中的特定图像,您将不得不浏览您的驱动器,因为多个文件夹和多个文件可以具有相同的名称。
function listOfFilesOfFolder() {
var myFolder = 'yourFolder';
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('yourSheet');
sh.clear();
sh.appendRow(["name", "date", "URL", "id", "type"]);
var folders = DriveApp.getFoldersByName(myFolder)
var foldersnext = folders.next();
var data = [];
var files = foldersnext.getFiles();
while (files.hasNext()) {
var file = files.next();
data = [
file.getName(),
file.getLastUpdated(),
file.getUrl(),
file.getId(),
file.getMimeType()
];
sh.appendRow(data);
}
sh.getRange('F1').setFormula(`={"image";arrayformula(if(D2:D="",,if(left(E2:E,5)="image",IMAGE("https://docs.google.com/uc?export=view&id="&D2:D),)))}`)
}
很遗憾,这是不可能的。由于Google Drive支持同一文件夹下存在多个同名文件,文件路径不足以唯一标识一个文件,因此无论“文件路径”是否为“文件路径”,都需要文件ID独特与否。