Si utiliza Microsoft Excel, probablemente esté acostumbrado a usar e importar datos de orígenes externos, por ejemplo, archivos CSV. Podemos tener la misma facilidad en Hojas de cálculo de Google usando Google Apps Script.

¿Qué es Google Apps Script?

Apps Script es una plataforma de scripting desarrollada por Google para el desarrollo de aplicaciones ligeras en la plataforma G Suite. Se basa en JavaScript 1.6, pero también incluye algunas características de 1.7, 1.8 y un subconjunto de la API de ECMAScript 5. Los proyectos de Apps Script se ejecutan en la infraestructura en la nube de Google. Según el propio Google, Apps Script "proporciona formas sencillas de automatizar tareas en productos y servicios de terceros". Apps Script también está disponible para Google Docs y Slides.

Encontrará todos los scripts de este tutorial en la hoja de cálculo de ejemplo, haga una copia en su unidad para poder ver los scripts y editar la hoja de cálculo.

También echa un vistazo: Transferencia de archivos por SFTP en Google Cloud usando FileZilla

Acceso al script de aplicaciones

Para acceder a los scripts de Google Apps, cree una hoja de cálculo en blanco o copie la hoja de ejemplo; Haga clic en Herramientas > Editor de scripts:

Se abrirá una nueva pestaña con el editor de texto de Google Apps Script:

Creación de scripts

Podemos importar fácilmente archivos CSV en Hojas de cálculo de Google utilizando la función Google Apps Script Utilities.parseCsv(). Los siguientes códigos muestran cómo importar y mostrar datos de un archivo CSV por URL, excepto en Google Drive o como archivo adjunto en Gmail.

Autorización de scripts de Google Apps

Para todos los ejemplos siguientes, al ejecutar los scripts necesitamos autorizar a Google Apps Scripts a acceder a algunas funciones de las API de Google.

Probablemente, debido a que su script aún no está homologado, aparecerá la siguiente pantalla:

Haga clic en Mostrar proyecto de acceso avanzado y continúe autorizando:

Importación del archivo CSV desde un archivo adjunto de correo electrónico en Gmail

función importCSVDoGmail()
  
  var emails á GmailApp.search("from:henrique@marquesf.com"); Filtramos nuestros correos electrónicos
  var email á emails.[0]getMessages(); [0]Tomamos el primer mensaje del hilo de correo electrónico
  var attachment á email.getAttachments(); Toma[0]mos el primer archivo adjunto del correo electrónico
  
  Validamos que este archivo adjunto es un CSV
  if (attachment.getContentType() á "text/csv")
    
    var spreadsheet á SpreadsheetApp.getActiveSheet(); Seleccionamos el objeto de la hoja de trabajo activa
    var csv - Utilities.parseCsv(spreadsheet.getDataAsString(), ",");
    
    Borramos el contenido de la hoja de trabajo antes de importar los datos
    sheet.clearContents().clearFormats();
    Importamos todos los datos de la celda A1
    sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
  } 
}

En nuestra variable de correos electrónicos realizaremos una búsqueda de filtros en nuestro Gmail para devolver el primer correo electrónico correspondiente, podemos utilizar cualquier operador de búsqueda de Gmail dentro de la función GmailApp.search ("operator:search"), consulta aquí la lista completa de operadores.

Importación del archivo CSV desde Google Drive

función importCSVDoGoogleDrive()

    var file á DriveApp.getFilesByName("data.csv").next();
    var csv - Utilities.parseCsv(file.getBlob().getDataAsString());
    var spreadsheet á SpreadsheetApp.getActiveSheet();
    spreadsheet.getRange(1, 1, csv.length, c[0]sv.length).setValues(csv);

}

En el ejemplo anterior estamos buscando el archivo data.csv que está en la raíz de Google Drive, cambie esta ruta según sea necesario.

Descargue e importe el archivo CSV desde un sitio web externo

función importCSVDaWeb()

    URL de descarga de archivos CSV
    var csvUrl á "https://marquesfernandes.com/wp-content/uploads/2020/01/exemplo_csv.csv";
    var csv - UrlFetchApp.fetch(csvUrl).getContentText();
    var data - Utilities.parseCsv(csv);

    var spreadsheet á SpreadsheetApp.getActiveSheet();
    spreadsheet.getRange(1, 1, data.length, data[0].length).setValues (datos);

}

Recuerde que el servicio UrlFetchApp solo realiza solicitudes HTTP y aún no es posible conectarse a servidores FTP.

0 0 votos
Nota do Artigo
Subscribe
Notify of

0 Comentários
newest
oldest most voted
Inline Feedbacks
View all comments
wpDiscuz
0
0
Would love your thoughts, please comment.x