【发布时间】:2020-11-23 00:24:40
【问题描述】:
编辑:我解决了我的问题 事实证明,它是从我作为备份的另一个 .gs 文件中提取函数,我从未注释掉该函数。它总是简单的事情。
我有一个我修改并运行良好的脚本here,但它没有任何隐藏网格线的功能。
我花了几个小时搜索,发现这个效果非常好,但它会导出整个文档,而不仅仅是我需要的单个工作表。我需要做什么才能让它只导出第一张工作表?
//global
var SS = SpreadsheetApp.getActiveSpreadsheet();
var Invoice_Sheet = SS.getSheetByName("Private Invoice");
function generatePdf() {
// Get folder containing spreadsheet, for later export
var parents = DriveApp.getFileById(SS.getId()).getParents();
if (parents.hasNext()) {
var folder = parents.next();
}
else {
folder = DriveApp.getRootFolder();
}
//additional parameters for exporting the sheet as a pdf
var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
// following parameters are optional...
+ '&size=A4' // paper size
+ '&portrait=true' // orientation, false for landscape
+ '&fitw=true' // fit to width, false for actual size
+ '&sheetnames=false&printtitle=false&pagenumbers=false' //hide optional headers and footers
+ '&gridlines=false' // hide gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&gid=0'; //first page
var options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
}
var Name = Invoice_Sheet.getRange("C12").getValue();
var curDate = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
var pdfName = Name + " - " + curDate + " - " + "Suds Invoice";
var response = UrlFetchApp.fetch("https://docs.google.com/spreadsheets/" + url_ext, options);
var blob = response.getBlob().setName(pdfName + '.pdf');
folder.createFile(blob);
}
【问题讨论】:
标签: google-apps-script google-sheets google-drive-api