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

使用Google Apps Script导出工作表为PDF并自定义文件名报错如何解决

解决方案

错误原因

你的代码存在3个核心问题:

  1. ss.getBlob 未加执行括号(),传入的是函数本身而非执行后返回的Blob对象
  2. 使用了错误的MIME类型枚举值,MimeType.exportPDF不是合法值,PDF对应的正确枚举是MimeType.PDF
  3. 调用createFile时参数匹配错误:三个参数的createFile(name, content, mimeType)重载中,第二个参数要求传入字符串文本,你传入Blob对象会被强制转为纯文本,因此导出格式不符合预期

可行实现方案

方案1:创建文件时直接指定PDF文件名

先修改Blob的名称属性后再传入创建文件,代码如下:

var sqc = ss.getSheetByName('SQC')
var folder = DriveApp.getFolderById('FOLDER ID')
// 自定义导出的PDF文件名,直接设置Blob的name属性
var pdfBlob = ss.getBlob().setName('自定义的文件名.pdf');
var pdfFile = folder.createFile(pdfBlob);

如果你只需要导出SQC单个工作表而非整个 spreadsheet,可以在获取Blob前添加选中范围的逻辑即可。

方案2:导出文件后重命名

如果已经生成了文件,直接调用文件实例的setName方法即可修改名称:

var sqc = ss.getSheetByName('SQC')
var folder = DriveApp.getFolderById('FOLDER ID')
var pdfBlob = ss.getBlob();
var pdfFile = folder.createFile(pdfBlob);
// 重命名已生成的文件
pdfFile.setName('自定义的文件名.pdf');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:15:07