с этим сценарием в моих листах Google (которые автоматически генерируют do c на основе выбранной строки) для значения валюты возвращаются значения, такие как 10245,1326666667 (на листе, который я применил к столбцам с валютой нумерует функцию, которая форматирует номер как € xxx.xxx). Как я могу сгенерировать значение, как € xxx.xxx, xx для валюты?
var TEMPLATE_ID = ''
var PDF_FILE_NAME = ''
function onOpen() {
SpreadsheetApp
.getUi()
.createMenu('CONTRATTO PSB vecchi clienti')
.addItem('Genera CONTRATTO PSB vecchi clienti', 'createPdf')
.addToUi()
}
function createPdf() {
if (TEMPLATE_ID === '') {
SpreadsheetApp.getUi().alert('TEMPLATE_ID needs to be defined in code.gs')
return
}
var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(),
copyId = copyFile.getId(),
copyDoc = DocumentApp.openById(copyId),
copyBody = copyDoc.getActiveSection(),
activeSheet = SpreadsheetApp.getActiveSheet(),
numberOfColumns = activeSheet.getLastColumn(),
activeRowIndex = activeSheet.getActiveRange().getRowIndex(),
activeRow = activeSheet.getRange(activeRowIndex, 1, 1, numberOfColumns).getValues(),
headerRow = activeSheet.getRange(1, 1, 1, numberOfColumns).getValues(),
columnIndex = 0
for (;columnIndex < headerRow[0].length; columnIndex++) {
copyBody.replaceText('%' + headerRow[0][columnIndex] + '%',
activeRow[0][columnIndex])
}
copyDoc.saveAndClose()
/** var newFile = DriveApp.createFile(copyFile.getAs('application/pdf'))
* if (PDF_FILE_NAME !== '') {
newFile.setName(PDF_FILE_NAME)
} */
// copyFile.setTrashed(true)
SpreadsheetApp.getUi().alert('Contratto creato!')
}
код с версией Купера:
var TEMPLATE_ID = 'xxxx'
var PDF_FILE_NAME = ''
function onOpen() {
SpreadsheetApp
.getUi()
.createMenu('xxxx')
.addItem('xxxx', 'createPdf')
.addToUi()
}
function createPdf() {
if (TEMPLATE_ID === '') {
SpreadsheetApp.getUi().alert('TEMPLATE_ID needs to be defined in code.gs');
return;
}
var copyFile=DriveApp.getFileById('TEMPLATE_ID').makeCopy();
const copyDoc=DocumentApp.openById(copyFile.getId());
const copyBody=copyDoc.getActiveSection();
const activeSheet=SpreadsheetApp.getActiveSheet();
const numberOfColumns=activeSheet.getLastColumn();
const activeRowIndex=activeSheet.getActiveRange().getRowIndex();
activeSheet.getRange(activeRowIndex,1,1,numberOfColumns).setNumberFormat("[$€]#,##0.00");
const activeRow=activeSheet.getRange(activeRowIndex, 1, 1, numberOfColumns).getDisplayValues();
const headerRow=activeSheet.getRange(1, 1, 1, numberOfColumns).getValues();
for (let columnIndex=0;columnIndex < headerRow[0].length; columnIndex++) {
copyBody.replaceText('%' + headerRow[0][columnIndex] + '%', activeRow[0][columnIndex]);
}
copyDoc.saveAndClose();
SpreadsheetApp.getUi().alert('Contratto creato!');
}