从谷歌表单创建PDF
函数createBulkPDFs(){ const docFile=DriveApp.getFileById(“id”) const tempFolder=DriveApp.getFolderById(“id”) const pdfFolder=DriveApp.getFolderById(“id”) const currentSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”) const data=currentSheet.getRange(2,1,currentSheet.getLastRow()-1,15).getDisplayValues() 让错误=[] data.forEach(行=>{ });//关闭forEach currentSheet.getRange(2,15,currentSheet.getLastRow()-1,1).setValues(错误) } 作用 createpdf(名字、姓氏、描述、地址、位置、信件日期、定义日期、pdfname、文档文件、临时文件夹、PDF文件夹){ const tempFile=docFile.makeCopy(tempFolder) const tempDocFile=DocumentApp.openById(tempFile.getId()) const body=tempDocFile.getBody() 替换文本(“{First name}”,First_name) replaceText(“{Last name}”,Last_name) replaceText(“{Description}”,Description) 正文.replaceText(“{Address}”,地址) replaceText(“{Location}”,Location) 正文.替换文本(“{信函日期}”,信函日期) 正文.replaceText(“{Date of Def}”,Date of Def) tempDocFile.saveAndClose() const pdfContentBlob=tempFile.getAs(MineType.Pdf)从谷歌表单创建PDF,pdf,google-apps-script,google-sheets,Pdf,Google Apps Script,Google Sheets,函数createBulkPDFs(){ const docFile=DriveApp.getFileById(“id”) const tempFolder=DriveApp.getFolderById(“id”) const pdfFolder=DriveApp.getFolderById(“id”) const currentSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”) const data=curre
pdfFolder.createFile(pdfContentBlob).setName(“pdfname”);我试图复制您的代码,但发现了一些问题
- 填充数据行时使用
。数据应为二维。每个子数组表示数据行setValues()
- getAs()中使用的值应该是
,而不是application/pdf
MineType.pdf
function createBulkPDFs() {
const docFile = DriveApp.getFileById("id");
const tempFolder = DriveApp.getFolderById("id");
const pdfFolder = DriveApp.getFolderById("id");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const data = currentSheet.getRange(1, 1, currentSheet.getLastRow(), 11).getDisplayValues();
let errors = [];
data.forEach(row => {
try {
createpdf(row[0], row[1], row[5], row[6], row[7], row[8], row[9], row[0] + " " + row[1], docFile, tempFolder, pdfFolder);
errors.push("Success");
} catch (err) {
errors.push("Failed");
}
}); //close forEach
let newArr = [];
while(errors.length > 0) {
newArr.push(errors.splice(0,1));
}
currentSheet.getRange(1, 12, currentSheet.getLastRow(), 1).setValues(newArr);
}
function createpdf(First_name, Last_name, Description, Address, Location, Date_of_letter, Date_of_Def, pdfname, docFile, tempFolder, pdfFolder){
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{First name}", First_name);
body.replaceText("{Last name}", Last_name);
body.replaceText("{Description}", Description);
body.replaceText("{Address}", Address);
body.replaceText("{Location}", Location);
body.replaceText("{Date of letter}", Date_of_letter);
body.replaceText("{Date of Def}", Date_of_Def);
tempDocFile.saveAndClose();
const pdfContentBlob = tempFile.getAs('application/pdf');
pdfFolder.createFile(pdfContentBlob).setName(pdfname);
}
代码:
function createBulkPDFs() {
const docFile = DriveApp.getFileById("id");
const tempFolder = DriveApp.getFolderById("id");
const pdfFolder = DriveApp.getFolderById("id");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const data = currentSheet.getRange(1, 1, currentSheet.getLastRow(), 11).getDisplayValues();
let errors = [];
data.forEach(row => {
try {
createpdf(row[0], row[1], row[5], row[6], row[7], row[8], row[9], row[0] + " " + row[1], docFile, tempFolder, pdfFolder);
errors.push("Success");
} catch (err) {
errors.push("Failed");
}
}); //close forEach
let newArr = [];
while(errors.length > 0) {
newArr.push(errors.splice(0,1));
}
currentSheet.getRange(1, 12, currentSheet.getLastRow(), 1).setValues(newArr);
}
function createpdf(First_name, Last_name, Description, Address, Location, Date_of_letter, Date_of_Def, pdfname, docFile, tempFolder, pdfFolder){
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{First name}", First_name);
body.replaceText("{Last name}", Last_name);
body.replaceText("{Description}", Description);
body.replaceText("{Address}", Address);
body.replaceText("{Location}", Location);
body.replaceText("{Date of letter}", Date_of_letter);
body.replaceText("{Date of Def}", Date_of_Def);
tempDocFile.saveAndClose();
const pdfContentBlob = tempFile.getAs('application/pdf');
pdfFolder.createFile(pdfContentBlob).setName(pdfname);
}
PDF:
function createBulkPDFs() {
const docFile = DriveApp.getFileById("id");
const tempFolder = DriveApp.getFolderById("id");
const pdfFolder = DriveApp.getFolderById("id");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const data = currentSheet.getRange(1, 1, currentSheet.getLastRow(), 11).getDisplayValues();
let errors = [];
data.forEach(row => {
try {
createpdf(row[0], row[1], row[5], row[6], row[7], row[8], row[9], row[0] + " " + row[1], docFile, tempFolder, pdfFolder);
errors.push("Success");
} catch (err) {
errors.push("Failed");
}
}); //close forEach
let newArr = [];
while(errors.length > 0) {
newArr.push(errors.splice(0,1));
}
currentSheet.getRange(1, 12, currentSheet.getLastRow(), 1).setValues(newArr);
}
function createpdf(First_name, Last_name, Description, Address, Location, Date_of_letter, Date_of_Def, pdfname, docFile, tempFolder, pdfFolder){
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{First name}", First_name);
body.replaceText("{Last name}", Last_name);
body.replaceText("{Description}", Description);
body.replaceText("{Address}", Address);
body.replaceText("{Location}", Location);
body.replaceText("{Date of letter}", Date_of_letter);
body.replaceText("{Date of Def}", Date_of_Def);
tempDocFile.saveAndClose();
const pdfContentBlob = tempFile.getAs('application/pdf');
pdfFolder.createFile(pdfContentBlob).setName(pdfname);
}
工作表:
function createBulkPDFs() {
const docFile = DriveApp.getFileById("id");
const tempFolder = DriveApp.getFolderById("id");
const pdfFolder = DriveApp.getFolderById("id");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const data = currentSheet.getRange(1, 1, currentSheet.getLastRow(), 11).getDisplayValues();
let errors = [];
data.forEach(row => {
try {
createpdf(row[0], row[1], row[5], row[6], row[7], row[8], row[9], row[0] + " " + row[1], docFile, tempFolder, pdfFolder);
errors.push("Success");
} catch (err) {
errors.push("Failed");
}
}); //close forEach
let newArr = [];
while(errors.length > 0) {
newArr.push(errors.splice(0,1));
}
currentSheet.getRange(1, 12, currentSheet.getLastRow(), 1).setValues(newArr);
}
function createpdf(First_name, Last_name, Description, Address, Location, Date_of_letter, Date_of_Def, pdfname, docFile, tempFolder, pdfFolder){
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{First name}", First_name);
body.replaceText("{Last name}", Last_name);
body.replaceText("{Description}", Description);
body.replaceText("{Address}", Address);
body.replaceText("{Location}", Location);
body.replaceText("{Date of letter}", Date_of_letter);
body.replaceText("{Date of Def}", Date_of_Def);
tempDocFile.saveAndClose();
const pdfContentBlob = tempFile.getAs('application/pdf');
pdfFolder.createFile(pdfContentBlob).setName(pdfname);
}
参考文献:
function createBulkPDFs() {
const docFile = DriveApp.getFileById("id");
const tempFolder = DriveApp.getFolderById("id");
const pdfFolder = DriveApp.getFolderById("id");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
const data = currentSheet.getRange(1, 1, currentSheet.getLastRow(), 11).getDisplayValues();
let errors = [];
data.forEach(row => {
try {
createpdf(row[0], row[1], row[5], row[6], row[7], row[8], row[9], row[0] + " " + row[1], docFile, tempFolder, pdfFolder);
errors.push("Success");
} catch (err) {
errors.push("Failed");
}
}); //close forEach
let newArr = [];
while(errors.length > 0) {
newArr.push(errors.splice(0,1));
}
currentSheet.getRange(1, 12, currentSheet.getLastRow(), 1).setValues(newArr);
}
function createpdf(First_name, Last_name, Description, Address, Location, Date_of_letter, Date_of_Def, pdfname, docFile, tempFolder, pdfFolder){
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{First name}", First_name);
body.replaceText("{Last name}", Last_name);
body.replaceText("{Description}", Description);
body.replaceText("{Address}", Address);
body.replaceText("{Location}", Location);
body.replaceText("{Date of letter}", Date_of_letter);
body.replaceText("{Date of Def}", Date_of_Def);
tempDocFile.saveAndClose();
const pdfContentBlob = tempFile.getAs('application/pdf');
pdfFolder.createFile(pdfContentBlob).setName(pdfname);
}