You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现Google Sheets导出PDF:无文件则保存,有则更新

实现双Google Form提交后自动导出指定工作表为PDF(支持新建/更新替换)

我需要计算客户的用水量及账单金额,为此采用了两个Google Form:

  • 第一个表单收集用水量数据,内置公式计算用水量及账单金额
  • 第二个表单收集客户往期欠费数据

两个表单的提交数据都存储在同一个Google表格的不同工作表中,最终汇总到另一张工作表完成计算。因为找不到能实现任意表单提交后自动导出指定工作表为PDF的现成脚本,我自行编写了脚本,实现了以下功能:

  • 无论哪个表单先提交,都会自动将指定工作表导出为PDF
  • 目标文件夹中无对应PDF文件时,新建文件
  • 目标文件夹中已有对应PDF文件时,直接更新替换原文件

感谢@tanaike的协助,以下是运行正常的脚本:

function printSpreadsheetAsPDF() {

  var   sheet           =   SpreadsheetApp.getActiveSpreadsheet();
  var   fileid          =   sheet.getId();
  var   sheetKons       =   sheet.getSheetByName('DATA KONSUMEN');
  var   sheetCtkTagih   =   sheet.getSheetByName('CETAK TAGIHAN'); 
  var   fileCtkTagihid  =   sheetCtkTagih.getSheetId();                

  var   nameFile        = sheetCtkTagih.getRange('C4').getValue().toString() +".pdf";
  var   destinationFolder     = DriveApp.getFolderById(sheetKons.getRange('E4').getValue());


  var exportOptions ='https://docs.google.com/spreadsheets/d/'+fileid+
                '/export?&format=pdf' + 
                '&size=letter' + 
                '&portrait=true' + 
                '&fitw=true' + 
                '&sheetnames=false&printtitle=false' + 
                '&pagenumbers=false&gridlines=true' + 
                '&fzr=true' + 
                '&gid='+fileCtkTagihid;

  var request = {
                "method": "GET",
                "headers":{"Authorization": "Bearer "+ScriptApp.getOAuthToken()},    
               "muteHttpExceptions": true
                };

 var pdf = UrlFetchApp.fetch(exportOptions, request);
     pdf = pdf.getBlob().getAs('application/pdf').setName(nameFile);

 var deleteexisting = destinationFolder.getFilesByName(nameFile);
     if (deleteexisting.hasNext() === false) {
     // if no file is found then create it
    destinationFolder.createFile(pdf);
    } else {
   while (deleteexisting.hasNext()) {
        var updatedPDF = deleteexisting.next();
        Drive.Files.update({mimeType: 'application/pdf'}, updatedPDF.getId(), pdf);  
     }
    }
   }

内容的提问来源于stack exchange,提问作者PSAB Plalangan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:45:31