[英]PDF file from selection in Google Sheets
我正在嘗試將選定的單元格保存到 pdf。一切正常,除了當我打開 pdf 時它看起來像 html。
我究竟做錯了什么?
var ss = SpreadsheetApp.getActiveSpreadsheet();
var token = ScriptApp.getOAuthToken();
sheet2.getRange('A1:N50').activate(); *// I realise this could be the problem but not sure how to correct it*
var url = "https://docs.google.com/spreadsheets/d/1roKWtpNPsfaQDxW82WZCfQzek77HEV4ihuC52radoXU/edit#gid=2092984379".replace("SS_ID", sheet2.getName());
var reqFolder = '1sIxddxsPHKLKjuiArZdtrckCMxAePHR6'
var folder = DriveApp.getFolderById(reqFolder);
var paymentreq = sheet1.getRange("B7").getValue();
var creditor = sheet2.getRange("D9").getValue();
var pdfName = 'Req ' + paymentreq + " " + creditor + " " + Utilities.formatDate(new Date(),"GMT+1","dd.MM.yyyy");
var url_ext = 'exportFormat=pdf&format=pdf' + '&size=A4' + '&portrait=false' + 'fitw=true';
var response = UrlFetchApp.fetch(url + url_ext + sheet2.getSheetId());
headers: {
Authorisation:'Bearer' + token
}
var blob = response.getBlob().setName(pdfName + '.pdf');
folder.createFile(blob);
};
謝謝
我試過刪除選擇部分,但它仍然只給我 html。當我 hover 超過它時,文件以 HTML 開頭:“filename.pdf”
這是我目前擁有的代碼,它總是創建一個 HTML 文件。
var sourceSheet = ss.getSheetByName("Payment Req")
var url = "https://docs.google.com/spreadsheets/d/18JPPgqLe5W8pQ_oGP-8oC3Ar4DRfbqrXbUwDfrxy1pM/edit#gid=2092984379" + '/export?exportFormat=pdf&format=pdf' + '&size=A4' + '&portrait=false' + '&fitw=true' + '&sheetnames=true&printtitle=false' + '&pagenum=RIGHT&gridlines=false' + '&fzr=false' + '&horizontal_alignment=CENTER' + '&vertical_alignment=MIDDLE' + '&gid=' + sourceSheet.getSheetId();
var reqFolder = '1sIxddxsPHKLKjuiArZdtrckCMxAePHR6'
var folder = DriveApp.getFolderById(reqFolder);
var paymentreq = sheet1.getRange("B7").getValue();
var creditor = sheet2.getRange("D9").getValue();
var pdfName = 'Req ' + paymentreq + " " + creditor + " " + Utilities.formatDate(new Date(),"GMT+1","dd.MM.yyyy");
var response = UrlFetchApp.fetch(url, {headers: {"Authorisation":'Bearer ' + ScriptApp.getOAuthToken()}});
var theblob = response.getBlob().setName(pdfName + ".pdf");
const pdfFile = folder.createFile(theblob);
return pdfFile;
ss
、 sheet1
和sheet2
。headers: { Authorisation:'Bearer' + token}
不包含在UrlFetchApp.fetch
中Authorisation
不正確。 是Authorization
。gid
。我認為這可能是您的第二個腳本出現問題的原因。
當反映這些點時,它變成如下。
var sourceSheet = ss.getSheetByName("Payment Req")
var url = "https://docs.google.com/spreadsheets/d/18JPPgqLe5W8pQ_oGP-8oC3Ar4DRfbqrXbUwDfrxy1pM/edit#gid=2092984379" + '/export?exportFormat=pdf&format=pdf' + '&size=A4' + '&portrait=false' + '&fitw=true' + '&sheetnames=true&printtitle=false' + '&pagenum=RIGHT&gridlines=false' + '&fzr=false' + '&horizontal_alignment=CENTER' + '&vertical_alignment=MIDDLE' + '&gid=' + sourceSheet.getSheetId();
var reqFolder = '1sIxddxsPHKLKjuiArZdtrckCMxAePHR6'
var folder = DriveApp.getFolderById(reqFolder);
var paymentreq = sheet1.getRange("B7").getValue();
var creditor = sheet2.getRange("D9").getValue();
var pdfName = 'Req ' + paymentreq + " " + creditor + " " + Utilities.formatDate(new Date(),"GMT+1","dd.MM.yyyy");
var response = UrlFetchApp.fetch(url, {headers: {"Authorisation":'Bearer ' + ScriptApp.getOAuthToken()}});
var theblob = response.getBlob().setName(pdfName + ".pdf");
const pdfFile = folder.createFile(theblob);
return pdfFile;
var ss = SpreadsheetApp.getActiveSpreadsheet(); // Please set Spreadsheet object as ss.
var sheet1 = // Please set your sheet1.
var sheet2 = // Please set your sheet2.
var sourceSheet = ss.getSheetByName("Payment Req");
var url = ss.getUrl().replace(/\/edit/, "") + '/export?exportFormat=pdf&format=pdf' + '&size=A4' + '&portrait=false' + '&fitw=true' + '&sheetnames=true&printtitle=false' + '&pagenum=RIGHT&gridlines=false' + '&fzr=false' + '&horizontal_alignment=CENTER' + '&vertical_alignment=MIDDLE' + '&gid=' + sourceSheet.getSheetId();
var reqFolder = '1sIxddxsPHKLKjuiArZdtrckCMxAePHR6';
var folder = DriveApp.getFolderById(reqFolder);
var paymentreq = sheet1.getRange("B7").getValue();
var creditor = sheet2.getRange("D9").getValue();
var pdfName = 'Req ' + paymentreq + " " + creditor + " " + Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy");
var response = UrlFetchApp.fetch(url, { headers: { "Authorization": "Bearer " + ScriptApp.getOAuthToken() } });
var theblob = response.getBlob().setName(pdfName + ".pdf");
const pdfFile = folder.createFile(theblob);
return pdfFile;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.