Is there a way to create a pdf with google apps script that includes only a specific sheet of a spreadsheet?

后端 未结 7 1404
[愿得一人]
[愿得一人] 2020-12-15 14:43

In the spreadsheet app itself, you have the options to print only a specific sheet. You also can turn off the grid lines when creating the pdf from within the app. Is ther

7条回答
  •  萌比男神i
    2020-12-15 15:11

    Google apps script to create a pdf of a specific sheet of a spreadsheet.

    function generatePdf() {
        var originalSpreadsheet = SpreadsheetApp.getActive();
    
        var sourcesheet = originalSpreadsheet.getSheetByName("Sheet - Name");
        var sourcerange = sourcesheet.getRange('A1:G7');  // range to get - here I get all of columns which i want
        var sourcevalues = sourcerange.getValues();
        var data = sourcesheet.getDataRange().getValues();
    
        var newSpreadsheet = SpreadsheetApp.create("Spreadsheet to export"); // can give any name.
        var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
        var projectname = SpreadsheetApp.getActiveSpreadsheet();
        var sheet = sourcesheet.copyTo(newSpreadsheet);
        var destrange = sheet.getRange('A1:G7');
        destrange.setValues(sourcevalues);
        newSpreadsheet.getSheetByName('Sheet1').activate();
        newSpreadsheet.deleteActiveSheet();
    
        var pdf = DriveApp.getFileById(newSpreadsheet.getId());
        var theBlob = pdf.getBlob().getAs('application/pdf').setName("name");
    
        var folderID = "Folder Id"; // Folder id to save in a folder.
        var folder = DriveApp.getFolderById(folderID);
        var newFile = folder.createFile(theBlob);
    
        DriveApp.getFileById(newSpreadsheet.getId()).setTrashed(true); 
    }
    

提交回复
热议问题