Google apps script G.A.S代码将从google工作表生成的pdf仅限于包含数据的行
我使用下面的谷歌脚本代码生成一份谷歌工作表的pdf,并通过电子邮件发送。除了生成的pdf包含太多空白页面外,代码工作正常。如何将生成的pdf限制为仅包含数据的图纸行Google apps script G.A.S代码将从google工作表生成的pdf仅限于包含数据的行,google-apps-script,pdf-generation,email-attachments,Google Apps Script,Pdf Generation,Email Attachments,我使用下面的谷歌脚本代码生成一份谷歌工作表的pdf,并通过电子邮件发送。除了生成的pdf包含太多空白页面外,代码工作正常。如何将生成的pdf限制为仅包含数据的图纸行 function emailReport() { readyForExport(); var spreadsheet = SpreadsheetApp.getActive(); var subject = spreadsheet.getRange("U1:U1").getValues(); var emailTo =
function emailReport() {
readyForExport();
var spreadsheet = SpreadsheetApp.getActive();
var subject = spreadsheet.getRange("U1:U1").getValues();
var emailTo = spreadsheet.getRange("V1:V1").getValues();
var message = spreadsheet.getRange("W1:W1").getValues();
var fileName = spreadsheet.getRange("X1:X1").getValues();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Students"));
var pdf = DriveApp.getFileById(spreadsheet.getId()).getAs('application/pdf').getBytes();
var attach = {fileName:fileName[0][0],content:pdf, mimeType:'application/pdf'};
MailApp.sendEmail(emailTo, subject, message, {attachments:[attach]});
};
提前感谢。我终于成功地编写了一段代码,通过首先删除工作表中的空行,可以成功删除pdf附件中的空页。:) 我有意在代码的结尾只留下一个空行,以向用户表明后续行中不存在其他数据 我不得不解决一些bug,因为代码会根据页面上已经存在的空行数而出错。最后,我设法处理了所有的bug,并编写了一个代码,然后流畅地运行,并考虑了所有异常情况。:) 代码如下:
var firstDelRow = spreadsheet.getSheetByName('Students').getLastRow()+2;
var lastDelRow = spreadsheet.getSheetByName('Students').getMaxRows();
var rowDif = lastDelRow-firstDelRow+1;
if (rowDif == -1) {
spreadsheet.getSheetByName('Students').insertRowAfter(firstDelRow-2);
};
if (rowDif >= 1) {
spreadsheet.getSheetByName('Students').deleteRows(firstDelRow, rowDif);
};
创建一个没有空白单元格的临时工作表,发送此工作表,然后将其删除。当然,所有这些都是通过脚本实现的;)或者只删除学生表上的空白行/列。thanks@Sergeinsas你能帮我查一下密码吗?我是个新手。谢谢,请分享一个没有敏感数据的电子表格示例,让它更简单,我将展示一个示例脚本。