Formato de fecha en Google Sheets utilizando AppScript
Esto está relacionado con esta publicación. Estoy tratando de exportar datos en hojas de cálculo separadas. Cuando exporto la hoja de cálculo, funciona, pero no copia el formato de fecha.
Este es el resultado de la celda después de ejecutar el script y exportarlo.
function PrintMultiple() {
const srcSs = SpreadsheetApp.getActiveSpreadsheet();
const sheet = srcSs.getSheetByName("TEMPLATE");
const values = sheet.getRange("C2").getDataValidation().getCriteriaValues()[0].getValues().flat().filter(String);
const dstSs = SpreadsheetApp.create("SMRtempSpreadsheet");
SpreadsheetApp.getActive().toast("A punto de realizar una acción... Por favor, espere...");
values.forEach(v => {
sheet.getRange("C2").setValue(v);
SpreadsheetApp.flush();
const tempSheet = sheet.copyTo(srcSs);
const range = tempSheet.getDataRange();
range.copyTo(range, {contentsOnly: true});
tempSheet.getRange("B2:2").clear().clearDataValidations();
tempSheet.getDrawings().forEach(e => e.remove());
tempSheet.deleteColumn(1);
tempSheet.deleteRow(1);
tempSheet.deleteRow(2);
tempSheet.deleteRow(3);
tempSheet.copyTo(dstSs);
srcSs.deleteSheet(tempSheet);
});
dstSs.deleteSheet(dstSs.getSheets()[0]);
}
Sin embargo, cuando formateo la celda como FECHA, se ve así.
¿Cómo puedo exportarlo como una FECHA sin formatear cada uno manualmente?
davy.ai
Para exportar los datos con el formato de fecha, puedes modificar el script existente para establecer explícitamente el formato de celda como formato de fecha utilizando el método
setNumberFormat()
. Aquí tienes el script modificado:En este script, hemos agregado la siguiente línea de código para establecer el formato de fecha para el rango en la columna D:
Este código establece el formato para toda la columna en formato
dd-MMM-yyyy
(por ejemplo, 01-ene-2022).Al agregar esta línea, los datos exportados estarán en el formato de fecha requerido.