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

如何用Google Apps Script将指定工作表导出为PDF至指定云端文件夹

解决指定工作表导出PDF的问题

你当前代码里的ss.getBlob()会获取整个工作簿的内容,所以导出的是所有工作表的PDF。要单独导出名为Tracking的工作表,需要通过构造Google Sheets的导出URL来生成仅包含目标工作表的PDF文件,修改后的代码如下:

function checkSheet() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("Tracking");
  const fldr = DriveApp.getFolderById("folder id");
  
  if(sh.getRange("C6").getValue() === "Yes") {
    // 获取目标工作表的唯一ID
    const sheetId = sh.getSheetId();
    // 获取当前电子表格的ID
    const ssId = ss.getId();
    // 构造仅导出指定工作表的PDF导出链接
    const pdfExportUrl = `https://docs.google.com/spreadsheets/d/${ssId}/export?exportFormat=pdf&gid=${sheetId}`;
    
    // 携带用户权限请求PDF内容
    const fetchOptions = {
      headers: {
        'Authorization': `Bearer ${ScriptApp.getOAuthToken()}`
      }
    };
    const pdfResponse = UrlFetchApp.fetch(pdfExportUrl, fetchOptions);
    const pdfBlob = pdfResponse.getBlob().setName("mypdf.pdf");
    
    // 将PDF保存到指定Drive文件夹
    fldr.createFile(pdfBlob);
  }
}

关键说明

  • 导出URL中的gid=${sheetId}是核心参数,用于指定要导出的单个工作表,去掉这个参数就会导出整个工作簿
  • ScriptApp.getOAuthToken()用于获取当前用户的授权令牌,确保能访问并导出目标电子表格的内容
  • 最后将获取到的PDF Blob重命名后保存到指定文件夹即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:01:15