You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript获取谷歌云端硬盘图片像素尺寸并写入表格

嘿,这个需求我刚好折腾过,用Google Apps Script就能完美搞定——毕竟都是谷歌自家的工具,衔接起来毫无违和感,而且完全不用跳去别的平台。下面是具体的实现方案,亲测支持你提到的JPG、PNG、TIFF、GIF所有格式:

实现方案:批量提取Drive图片像素尺寸并写入Google Sheet

步骤1:提前准备工作

  • 先创建一个新的Google Sheet,手动给第一行加表头:文件名、文件格式、宽度(px)、高度(px)、Drive链接
  • 找到你要处理的Drive文件夹,复制它的文件夹ID(就是文件夹URL里folders/后面那串长字符)

步骤2:编写Google Apps Script代码

打开你的Google Sheet,点击顶部菜单栏的扩展程序 > Apps Script,把默认代码清空,替换成下面的代码:

function getImageDimensionsToSheet() {
  // 替换成你的Drive文件夹ID
  const targetFolderId = "YOUR_FOLDER_ID_HERE";
  // 替换成你要写入数据的Sheet名称(比如默认的"Sheet1")
  const targetSheetName = "Sheet1";
  
  const folder = DriveApp.getFolderById(targetFolderId);
  // 只筛选图片类型文件,自动过滤非图片格式
  const imageFiles = folder.getFilesByType(MimeType.IMAGE);
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(targetSheetName);
  
  // 清空已有数据(保留表头)
  if (sheet.getLastRow() > 1) {
    sheet.getRange(2, 1, sheet.getLastRow()-1, 5).clearContent();
  }
  
  let currentRow = 2; // 从第二行开始写入数据
  
  while (imageFiles.hasNext()) {
    const file = imageFiles.next();
    const fileName = file.getName();
    const fileUrl = file.getUrl();
    const fileMimeType = file.getMimeType();
    
    // 核心:从文件Blob中提取原生像素尺寸
    const fileBlob = file.getBlob();
    const image = Utilities.newBlob(fileBlob.getBytes(), fileMimeType).getAs('image/png');
    const width = image.getWidth();
    const height = image.getHeight();
    
    // 写入表格对应单元格
    sheet.getRange(currentRow, 1).setValue(fileName);
    sheet.getRange(currentRow, 2).setValue(fileMimeType.replace("image/", "")); // 只显示格式后缀
    sheet.getRange(currentRow, 3).setValue(width);
    sheet.getRange(currentRow, 4).setValue(height);
    sheet.getRange(currentRow, 5).setFormula(`=HYPERLINK("${fileUrl}", "打开文件")`);
    
    currentRow++;
  }
  
  // 运行完成提示
  SpreadsheetApp.getUi().alert("图片尺寸提取完成!数据已写入表格");
}

步骤3:配置权限并运行脚本

  • 把代码里的YOUR_FOLDER_ID_HERE替换成你的Drive文件夹ID,targetSheetName替换成你的Sheet名称
  • 点击脚本编辑器顶部的运行按钮,第一次运行会触发权限验证,按照页面提示完成授权(这是你自己的脚本,只会访问你的Drive和Sheet数据,放心授权)
  • 运行结束后回到Sheet,就能看到所有图片的原生像素尺寸数据了!

额外扩展:筛选指定尺寸范围的图片

如果需要只保留符合尺寸要求的图片数据,可以在写入表格前加判断逻辑,比如:

// 示例:只保留宽500-2000px、高500-2000px的图片
const minWidth = 500;
const maxWidth = 2000;
const minHeight = 500;
const maxHeight = 2000;

if (width >= minWidth && width <= maxWidth && height >= minHeight && height <= maxHeight) {
  // 这里放入写入表格的代码
}

内容的提问来源于stack exchange,提问作者RealSweatyYeti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:28:56