我正在尝试通过Apps脚本从Google表格导出PDF。我在网上找到了有用的代码,该代码非常有效,除了找不到没有网格或更改边距和页面大小的方法无法导出它。
function generatePdf() {
var originalSpreadsheet = SpreadsheetApp.getActive();
var sourcesheet = originalSpreadsheet.getSheetByName("TestSheet");
var sourcerange = sourcesheet.getRange('B1:K55'); // range to get - here I get all of columns which i want
var sourcevalues = sourcerange.getValues();
var data = sourcesheet.getDataRange().getValues();
var number = originalSpreadsheet.getRange('G9:H9').getValue();
var newSpreadsheet = SpreadsheetApp.create("Invoice pdf"); // can give any name.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var projectname = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sourcesheet.copyTo(newSpreadsheet);
var destrange = sheet.getRange('B1:K55');
destrange.setValues(sourcevalues);
newSpreadsheet.getSheetByName('Sheet1').activate();
newSpreadsheet.deleteActiveSheet();
var invoiceName = "Invoice "+number;
var pdf = DriveApp.getFileById(newSpreadsheet.getId());
var theBlob = pdf.getBlob().getAs('application/pdf').setName(invoiceName);
var folderID = "1Y7n1e_tzQWvzVykHJf_DSm9lBVmokDHA"; // Folder id to save in a folder.
var folder = DriveApp.getFolderById(folderID);
var newFile = folder.createFile(theBlob);
DriveApp.getFileById(newSpreadsheet.getId()).setTrashed(true);
}
我一直在寻找答案,但是我无法将找到的一些解决方案应用于我的代码。
答案 0 :(得分:0)
我不确定如何使用代码进行操作,但是如果您想在没有代码的情况下进行操作...从 Google 表格下载时,您可以选择删除单元格网格线。路线如下:
文件 > 下载 > PDF 文档 (.pdf)
这将打开一个预览屏幕。右侧的侧边栏有一个名为“格式”的下拉菜单。
在“格式”下,取消选中标有“显示网格线”的框。
就是这样!