【发布时间】:2019-03-26 15:45:54
【问题描述】:
我正在尝试生成一封电子邮件,其中包含特定工作表的 PDF 附件,不一定是活动工作表。我尝试引用特定的工作表名称和编号,但无济于事,它选择了标题为“AMDashboard_English”的工作表 1。请帮忙。
function CreatePDF() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AMDashboard_English");
var sheet = ss.getSheetByName("AMDashboard_English");
Logger.log(sheet.getName());
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", sheet.getId());
var url_ext = 'exportFormat=pdf&format=pdf' // export as pdf / csv / xls /
var token = ScriptApp.getOAuthToken();
var sheets = ss.getSheets();
var blobs = [];
var i=0
var response = UrlFetchApp.fetch(
url + url_ext + sheets[i].getSheetId(), {
headers: {'Authorization': 'Bearer ' + token}
}
);
blobs[i] = response.getBlob().setName(sheets[i].getName() + '.pdf');
DriveApp.createFile(blobs[i]);
return blobs[i];
}
【问题讨论】:
-
工作簿 ID (
SpreadsheetApp.getActive().getId()) 和工作表 ID(又名网格 ID,SpreadsheetApp.getActive().getSheetByName("some name").getSheetId())不是一回事。 developers.google.com/sheets/api/guides/concepts#common_terms
标签: google-apps-script google-sheets export-to-pdf